我尝试附加以下具有onclick
功能的标记。
$("body").append('<img onclick="removeDynamicColumn(this,'someString')" src="css/images/builder/removeTDTR.png"/>');
在这个函数中,我传递两个参数,一个是元素本身,另一个是字符串,如果我用JSP中的单引号将该字符串参数括起来显示此错误 -
令牌上的语法错误&#34; someString&#34;,AssignmentOperator无效。
如果我在调用该函数时用双引号括起来,我会收到此错误 -
SyntaxError:期望表达式,得到脚本结束
答案 0 :(得分:4)
Missing Escape&#39; \&#39;代码中的字符。
尝试该代码;
$("body").append('<img onclick="removeDynamicColumn(this,\'someString\')" src="css/images/builder/removeTDTR.png"/>');
答案 1 :(得分:4)
尝试escape \
$("body").append('<img onclick="removeDynamicColumn(this,\'someString\')" src="css/images/builder/removeTDTR.png"/>');
答案 2 :(得分:2)
你需要逃避引号。
尝试在\
周围的'
个字符前使用someString
。
\'someString\'
答案 3 :(得分:1)
为什么要这样绑定它 - 如果你使用的是jQuery,那么你可以使用delegated bind然后使用data-
属性作为你的字符串:
var body = $("body");
// give your image a class and data attribute for your string
body.append('<img src="css/images/builder/removeTDTR.png" data-string="some string" class="click-image">')
// this is delegated bind
body.on('click', '.click-image', function() {
var image = $(this), // your image as a jquery object
someString = image.data('string'); // your string
// do your onclick action here
});
答案 4 :(得分:1)
假设我们在这样的变量中有一个字符串:
var param = "somestring"
我们可以通过以下方式将此变量注入您的示例:
$("body").append('<img onclick="removeDynamicColumn(this, \'' + param + '\')" src="css/images/builder/removeTDTR.png"/>');
GL