Javascript 将此和字符串作为参数传递到jquery函数中

Javascript 将此和字符串作为参数传递到jquery函数中,javascript,jquery,Javascript,Jquery,我尝试附加以下标签,它有一个onclick函数 $("body").append('<img onclick="removeDynamicColumn(this,'someString')" src="css/images/builder/removeTDTR.png"/>'); $(“正文”)。附加(“”); 在这个函数中,我传递两个参数,一个是元素本身,另一个是字符串,如果我在JSP中用单引号括住字符串参数,就会显示这个错误- 标记“someString”上的语法错误,As

我尝试附加以下标签,它有一个
onclick
函数

 $("body").append('<img onclick="removeDynamicColumn(this,'someString')" src="css/images/builder/removeTDTR.png"/>');
$(“正文”)。附加(“”);
在这个函数中,我传递两个参数,一个是元素本身,另一个是字符串,如果我在JSP中用单引号括住字符串参数,就会显示这个错误-

标记“someString”上的语法错误,AssignmentOperator无效

如果调用该函数时用双引号括起来,则会出现以下错误-

SyntaxError:应为表达式,已获取脚本结尾


代码中缺少转义“\”字符

试试那个密码

$("body").append('<img onclick="removeDynamicColumn(this,\'someString\')" src="css/images/builder/removeTDTR.png"/>');
$(“正文”)。附加(“”);
尝试转义\

 $("body").append('<img onclick="removeDynamicColumn(this,\'someString\')" src="css/images/builder/removeTDTR.png"/>');
$(“正文”)。附加(“”);

您需要避开引号

尝试在
\
字符串周围的
字符之前使用
\


\'someString\'

为什么要这样绑定它?如果您使用jQuery,那么您可以使用,然后为字符串使用
数据-
属性:

var body=$(“body”);
//为图像提供字符串的类和数据属性
body.append(“”)
//这是委托绑定
body.on('click','click image',function(){
var image=$(this),//将图像作为jquery对象
someString=image.data('string');//您的字符串
//在这里执行onclick操作

});假设变量中有一个字符串,如下所示:

var param = "somestring"
我们可以通过以下方式将此变量注入到您的示例中:

$("body").append('<img onclick="removeDynamicColumn(this, \'' + param + '\')" src="css/images/builder/removeTDTR.png"/>');
$(“正文”)。附加(“”);

G.L

添加到这一点上。它不起作用的原因是因为您没有通过使用\谢谢pete的建议来逃避麻烦,实际上上面提到的是示例程序,实际上我将这个标记附加到html表的一个部分,它本身就是我动态创建行和列的…所以在我的代码中,您的append将保持原样,新绑定将放在文档中准备就绪—委托绑定是关于动态创建的元素—请阅读我提供的链接,我认为这是一种更好的方式