getElementsByClassName NodeList の反復処理
JavaScript の初心者として、getElementsByClassName() メソッドによって返された NodeList の反復処理を行うときに問題が発生する可能性があります。 。配列とは異なり、NodeList は、for 構文を使用した直接インデックス付けやループなどの配列のような動作を本質的にサポートしません。
NodeList を正しく反復するには、NodeList オブジェクトが提供する item() メソッドを使用できます。このメソッドを使用すると、インデックスを指定して NodeList から個々の要素を取得できます。
例として、次のコードを考えてみます。
const slides = document.getElementsByClassName("slide"); for (let i = 0; i < slides.length; i++) { Distribute(slides.item(i)); }
このコードは、item() メソッドを使用して、指定されたインデックスにある NodeList の各要素を取得し、それを Distribute() 関数に渡して処理します。
注: Distribute() 関数内で DOM を変更する場合は、次のことを考慮することが重要です。 、NodeList の長さと順序は変更される可能性があります。予期しない動作を防ぐために、反復処理を行う前に NodeList からクローン配列を作成し、静的コレクションを確実に操作することを検討することをお勧めします。
以上がgetElementsByClassName() によって返された NodeList をどのように反復処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。