Maison > interface Web > js tutoriel > Comment supprimer efficacement les éléments DOM par ID en JavaScript ?

Comment supprimer efficacement les éléments DOM par ID en JavaScript ?

Barbara Streisand
Libérer: 2024-12-18 17:31:11
original
582 Les gens l'ont consulté

How to Efficiently Remove DOM Elements by ID in JavaScript?

Comment supprimer un élément par son ID à l'aide de JavaScript natif

En JavaScript standard, la suppression d'un élément du DOM nécessite d'accéder à son nœud parent d'abord :

var element = document.getElementById("element-id");
element.parentNode.removeChild(element);
Copier après la connexion

Cette approche semble un peu alambiquée, ce qui soulève la question : pourquoi JavaScript est-il conçu de cette manière manière ?

La solution : extension des fonctions DOM

Bien que la modification des fonctions natives du DOM ne soit pas toujours idéale, le polyfill suivant fonctionne de manière transparente dans les navigateurs modernes :

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]);
        }
    }
}
Copier après la connexion

Avec ce polyfill, vous pouvez supprimer des éléments commodément :

document.getElementById("my-element").remove();
Copier après la connexion
Copier après la connexion
document.getElementsByClassName("my-elements").remove();
Copier après la connexion

Remarque : Cette solution ne fonctionne pas dans IE 7 et versions antérieures.

Solution moderne : Node.remove()

Dans les navigateurs récents, la fonction node.remove() peut être utilisée sans le polyfill :

document.getElementById("my-element").remove();
Copier après la connexion
Copier après la connexion
[...document.getElementsByClassName("my-elements")].map(n => n && n.remove());
Copier après la connexion

Ces fonctions sont prises en charge par tous les navigateurs modernes, à l'exclusion d'IE. Pour plus de détails, reportez-vous à la documentation MDN.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal