我试图将变量“image”传递给onclick事件处理函数。当“image”变量类似于“1111”时它可以工作,但是当我像“11sfrl”那样给它一些字符串值或者只是没有数字字符的纯字符串时,就不会调用事件处理函数。我试图将它包装在参数列表上的双引号但没有帮助。
image="ssss";
element4 = $('<div id="elem'+element.id+'" style="position:absolute;width:38px;height:24px;left:123px;margin:2px;border-width:1px;border-style:solid;border-color:red;" onclick="deletefromcart(this.id,'+image+');"></div>').appendTo(element);
答案 0 :(得分:2)
我建议使用jQuery函数,而不是使用长字符串HTML:
element4 = $('<div id="elem' + element.id + '" />')
.css({
position: 'absolute',
width: '38px',
height: '24px',
left: '123px',
margin: '2px',
borderWidth: '1px',
borderStyle: 'solid',
borderColor: 'red'
})
.click(function(){
deletefromcart(this.id, image);
})
.appendTo(element);
这比构造字符串更可靠。
答案 1 :(得分:1)
这是因为'onclick="deletefromcart(this.id,'+image+');">'
变为:onclick="deletefromcart(this.id,IMAGEURL);">
。你可能想要:
onclick="deletefromcart(this.id,\''+image+'\');"