1 回答
TA贡献1836条经验 获得超4个赞
报错误的原因是,你拼接html的时候,把title作为一个变量传进去了,而不是一个字符串。
而如果你使用字符串冒号包裹title的话又会和html的冒号冲突,因此比较好的方式是,onclick=cancelDouble('+item.index+',"'+item.title+'") 的时候,onclick=后面的方法不要用引号包裹,然后参数就可以友好的拼接字符串,把参数当成字符串处理而不是变量
var arr = [
{ index: 0, title: 'title0' },
{ index: 1, title: 'title1' },
{ index: 2, title: 'title2' },
{ index: 3, title: 'title3' },
{ index: 4, title: 'title4' },
];
var htm = '';
arr.forEach(function(item) {
htm+='<li><input type="button" value="确定" class="verifition" onclick=cancelDouble('+item.index+',"'+item.title+'")></li>';
});
$("body").html(htm);
function cancelDouble(index,title){
console.log(index,title)
}
添加回答
举报