我有两个功能:在第一个中,我使用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
不会得到真正的价值,因为它不包含空格背后的任何东西,我应该用哪种方式来检索包含空格和所有内容的完整值?
答案 0 :(得分:1)
存在连接问题。
替换为
"<input type=\"image\" data-file_name=\"" + result.fileName + "\" />"
答案 1 :(得分:1)
您创建的内容不是有效的语法。
// Invalid Syntax:
<input type="image" data-red dragon="" />
当您通过服务器模板甚至生成此输入时,标记在数据属性上不能有空格。虽然它允许一些定制。它失败的原因是因为它正在结束&#34; Red&#34;你的数据属性,然后处理&#34;龙&#34;作为另一个属性。
从本质上讲,这是创造出来的:
<input type="image" data-red="" dragon="" />
<input type="image" data-red="" />
两者都不是你想要的。您需要删除空间,以正确构建该数据属性。您的另一个选择是将文件名作为值放置,而不是放在data属性中。例如:
<input type="image" data-filename="@FileName" />
显然,您可以使用任何方法生成放置@FileName
的位置。您也可以使用单引号,然后使用双引号来帮助简化JavaScript中的连接。