


Comment parcourir correctement les NodeLists : une solution pour getElementsByClassName ?
Nov 11, 2024 am 10:33 AMItérer correctement NodeList : une solution pour getElementsByClassName
Lorsque vous travaillez avec des NodeLists, qui sont des valeurs de retour de la fonction getElementsByClassName, il est crucial d'utiliser la bonne approche d'itération pour éviter comportement inattendu comme la modification de la longueur et de l'ordre des éléments.
Comprendre les NodeLists
Contrairement aux tableaux, les NodeLists sont des collections dynamiques qui se mettent à jour dynamiquement en fonction des modifications de l'arborescence DOM. Cela signifie que le contenu de la NodeList peut changer au cours de l'itération, ce qui peut entraîner des problèmes.
Solution
Pour parcourir efficacement une NodeList, utilisez la méthode item pour accéder éléments individuels. Cela garantit que les éléments sont récupérés de la NodeList sans la modifier :
const slides = document.getElementsByClassName("slide"); for (let i = 0; i < slides.length; i++) { Distribute(slides.item(i)); }
Exemple avec des diapositives imbriquées
Dans les cas où les diapositives sont imbriquées dans d'autres éléments, vous peut avoir besoin d'une approche alternative :
const slides = document.getElementsByClassName("slide"); const clonedSlides = []; // Clone each slide to prevent DOM updates during iteration for (let i = 0; i < slides.length; i++) { clonedSlides.push(slides.item(i).cloneNode(true)); } // Iterate through the cloned slides and perform necessary actions for (let i = 0; i < clonedSlides.length; i++) { Distribute(clonedSlides[i]); }
En clonant les diapositives, vous créez un instantané du DOM, garantissant que le processus d'itération ne sera pas affecté par les modifications apportées à l'arborescence DOM.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

Tutoriel de configuration de l'API de recherche Google personnalisé

8 Superbes plugins de mise en page JQuery Page

Créez vos propres applications Web Ajax

Qu'est-ce que & # x27; ceci & # x27; en javascript?
