Ne polluez pas Object
. Vous n'avez pas besoin de cette fonction dans chaque objet. Créez une fonction séparée et utilisez remove()
, pas removeChild()
.
La méthode ChildNode.remove() supprime l'objet de l'arborescence à laquelle il appartient.
Mais remove ne fonctionne pas dans tous les navigateurs. C'est une nouvelle fonction. Donc je vous propose deux solutions.
Avec 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);
}
Élément de liste un supprimer
Élément de liste deux supprimer
Élément de liste trois supprimer
Élément de liste quatre supprimer
Élément de liste cinq supprimer
Élément de liste six supprimer
Avec removeChild()
.
Pourquoi 2 parentNodes?
Parce que le premier est le , mais vous avez besoin de 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);
}
Élément de liste un supprimer
Élément de liste deux supprimer
Élément de liste trois supprimer
Élément de liste quatre supprimer
Élément de liste cinq supprimer
Élément de liste six supprimer