我能够找到答案,我做了一些改变,并尝试使其工作,但没有成功。
我想在用户按 x 按钮时删除项目:
部分JS代码:
animals = temp;
for (var i = 0; i < animals.length; i++) {
newOutput += '<p>' + animals[i]
+ '<input type="number" class="animals-input pull-right text-right" value="0" />'
+ '<a href="#" onClick="deleteItem(' + animals[i]
+ ')" class="pull-right delete-item">x</a></p>';
};
$('.animals-input').innerHTML = newOutput;
有什么想法吗?
谢谢。
最佳答案
你可以这样做:
for (var i = 0; i < animals.length; i++) {
newOutput.push('<p>' + animals[i] + '<input type="number" class="animals-input pull-right text-right" value="0" />' + '<a href="#" onClick="deleteItem(\'' + i + '\')" class="pull-right delete-item">x</a></p>');
};
$('#list').html(newOutput.join(""));
你需要改变这一点
onClick="deleteItem(' + animals[i] + ')"
至
onClick="deleteItem(\'' + i + '\')"
如在 deleteItem()
函数中一样,您传递的是数组索引而不是数组值。另外,在将参数传递给函数时需要加上引号,否则会出错。
关于javascript - jquery 从数组中删除项目不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38305214/