Itérer correctement via getElementsByClassName
Lorsque vous travaillez avec des pages Web, accéder aux éléments par leur nom de classe est une tâche courante. La méthode getElementsByClassName fournit une NodeList, qui représente une collection d'éléments correspondants. Cependant, parcourir une NodeList peut être délicat, en particulier lors de la modification du DOM.
Dans votre cas, vous essayez de parcourir les éléments renvoyés par getElementsByClassName("slide") et d'effectuer une action sur chaque élément. en utilisant la fonction Distribuer. Cependant, vous rencontrez un comportement imprévisible en raison de la nature changeante de NodeList.
La solution consiste à utiliser la méthode item(index) pour récupérer des éléments individuels de NodeList. Voici comment itérer correctement :
const slides = document.getElementsByClassName("slide"); for (let i = 0; iEn utilisant la méthode item(), vous pouvez accéder à chaque élément de la NodeList par son index. Cela garantit que l'itération reste déterministe, même si le DOM change.
Considérations supplémentaires
Si vos éléments de diapositive peuvent être imbriqués les uns dans les autres, il est important de noter que la méthode item() renverra null pour tous les éléments imbriqués qui n'ont pas le nom de classe spécifié. Pour gérer les diapositives imbriquées, vous pouvez utiliser une technique plus avancée, telle que l'interrogation de tous les éléments d'un conteneur et leur filtrage par nom de classe.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3