Maison >interface Web >js tutoriel >Comment puis-je supprimer efficacement des éléments HTML en JavaScript ?

Comment puis-je supprimer efficacement des éléments HTML en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 12:53:10348parcourir

How Can I Efficiently Remove HTML Elements in JavaScript?

Supprimer facilement des éléments : explorer nativeDOM et node.remove()

Lorsqu'il est chargé de supprimer des éléments HTML dans JavaScript, il existe depuis longtemps une bizarrerie perçue : devoir d'abord sélectionner le nœud parent. Jusqu'à récemment, la méthode standard nécessitait le code suivant :

var element = document.getElementById("element-id");
element.parentNode.removeChild(element);

Une approche améliorée

Pour les navigateurs modernes, l'augmentation des fonctions natives du DOM offre une solution qui semble plus intuitif :

Element.prototype.remove = function() {
    this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
    for(var i = this.length - 1; i >= 0; i--) {
        if(this[i] && this[i].parentElement) {
            this[i].parentElement.removeChild(this[i]);
        }
    }
}

Désormais, supprimer des éléments devient un brise :

document.getElementById("my-element").remove();

ou

document.getElementsByClassName("my-elements").remove();

Le triomphe de node.remove()

Dans une mise à jour récente, node.remove( ) s'est imposé comme le sauveur de cette tâche, disponible dans tous les navigateurs modernes à l'exception de IE :

document.getElementById("my-element").remove();

ou

[...document.getElementsByClassName("my-elements")].map(n => n && n.remove());

Bien que ces solutions puissent ne pas fonctionner dans IE 7 et versions antérieures, elles offrent un moyen beaucoup plus fluide et plus logique de supprimer des éléments du DOM, laissant derrière une expérience de codage plus efficace et plus simple.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn