不要污染对象.您不需要在每个对象中使用此功能.创建一个单独的函数并使用remove(),而不是removeChild().
ChildNode.remove()方法从它所属的树中删除对象.
但删除不适用于每个浏览器.这是一项新功能.所以我建议你两个解决方案.
随着删除()
var remove = function(){
this.parentNode.remove();
};
var lis = document.querySelectorAll('li');
var button = document.querySelectorAll('span');
for (var i = 0, len = lis.length; i < len; i++) {
button[i].addEventListener('click', remove, false);
}
- List item one remove
- List item two remove
- List item three remove
- List item four remove
- List item five remove
- List item six remove
使用removeChild().
为什么有2个parentNodes?
因为第一个是< span>,但你需要li
function remove() {
this.parentNode.parentNode.removeChild(this.parentNode);
}
var lis = document.querySelectorAll('li');
var button = document.querySelectorAll('span');
for (var i = 0, len = lis.length; i < len; i++) {
button[i].addEventListener('click', remove, false);
}
- List item one remove
- List item two remove
- List item three remove
- List item four remove
- List item five remove
- List item six remove