我在使用parentNode.removeChild()
时遇到了一些困难。我在无序列表中列出了“项目”,每个列表都有自己的删除按钮。我试图将一个点击事件绑定到每个单独的按钮,它将删除它的各自父项'项目'。Javascript - 如何使用点击事件和类去除DOM元素?
到目前为止我的代码:
<ul class="list">
<h2>This is a list</h2>
<li class="item">
<h3>Some Item</h3>
<button class="delete">Delete</div>
</li>
<li class="item">
<h3>Some Item</h3>
<button class="delete">Delete</div>
</li>
<li class="item">
<h3>Some Item</h3>
<button class="delete">Delete</div>
</li>
</ul>
var childElements = document.getElementsByClassName('item');
var buttonElement = document.getElementsByClassName('delete');
function deleteItem(buttonsClass, childClass) {
for (var i=0;i<buttonsClass.length;i++) {
var child = childClass[i];
buttonsClass[i].addEventListener('click', function(child) {
childClass[i].parentNode.removeChild(childClass[i]);
}, false);
}
}
deleteItem(buttonElement, childElements);
我知道有一个简单的方法使用jQuery做到这一点,但我真的想用普通的JavaScript来解决这个问题。感谢您的帮助。
你能描述一下你得到的错误或意外的行为吗? – m69
如果您为该元素分配了一个ID,则更容易删除该元素而不使用for循环; for循环也删除所有元素。 –