获取JQuery数据-包含有空格的值

Get JQuery data- that contains value with spaces

本文关键字:空格 JQuery 数据 -包 获取      更新时间:2023-09-26

我有两个函数:在第一个,我使用JQuery设置data-file_name属性:

 "<input type='"image'" + " data-file_name=" + result.fileName/>"

效果很好,但是当我试图从第二个函数中检索该值时,如果data-file_name value包含空格,我只是得到第一个单词(例如,如果data-file_name= "The book blue"我只是得到The,如果data-file_name = "Red Dragon"我只是得到第二个函数Red,当它找到一个空间时它会停止……)这是我在第二个函数中检索值的方式:

var fileName = $(this).data("file_name");

所以fileName variable不会得到真正的值,因为它不包括空格后面的任何东西,我应该用哪种方式来检索值完整包括空格和一切?

有一个连接问题。

替换为

"<input type='"image'" data-file_name='"" + result.fileName + "'" />"

您创建的语法不合法。

// Invalid Syntax:
<input type="image" data-red dragon="" />

当您模板化或甚至通过服务器生成此输入时,标记不能在data属性上有空格。尽管它允许一些定制。空格失败的原因是它将"Red"连接到数据属性,但随后将"Dragon"作为另一个属性处理。

实际上,这正在被创建:

<input type="image" data-red="" dragon="" />
<input type="image" data-red="" />

都不是你想要的。您需要删除空格,才能正确构建该数据属性。您的另一个选择是将文件名作为值,而不是放在data属性中。例如:

<input type="image" data-filename="@FileName" />

显然,您将使用任何方法来生成我放置@FileName的位置。你也可以使用单引号,然后在物理上使用双引号来帮助简化JavaScript中的连接。