document.querySelectorAll を使用して選択した要素を効果的にループする方法

Barbara Streisand
リリース: 2024-10-20 21:15:30
オリジナル
758 人が閲覧しました

How to Effectively Loop Through Selected Elements Using document.querySelectorAll

document.querySelectorAll による選択した要素のループ

document.querySelectorAll は、指定された要素に基づいて複数の要素を選択できる強力なメソッドです。 CSSセレクター。これらの選択した要素を反復するには、結果として得られる NodeList オブジェクトのニュアンスを理解することが重要です。

NodeList と Array

for を使用するときに直面した問題。 ..in ループでは、NodeList が配列ではありません。 NodeList は配列に似ていますが、item() やnamedItem() などの追加プロパティを持っています。その結果、for...in ループは要素自体に加えてこれらのプロパティを反復処理し、追加の 3 つの項目が生成されます。

ループのベスト プラクティス

この問題を回避し、正しくループするには、次のアプローチを検討してください。

インデックス付きの For ループの使用

<code class="javascript">var checkboxes = document.querySelectorAll(".check");

for (var i = 0; i < checkboxes.length; i++) {
  // Do something with checkboxes[i]
}</code>
ログイン後にコピー

ForEach ループの使用(ES2015)

forEach() メソッドは、配列と NodeList を反復処理するために特別に設計されています。これにより、ループ構文が単純化され、より簡潔になります。

<code class="javascript">var checkboxes = document.querySelectorAll(".check");

checkboxes.forEach(function(checkbox) {
  // Do something with checkbox
});</code>
ログイン後にコピー

NodeList を Array に変換する (ES2015)

もう 1 つの効果的な方法 (特に ES2015 環境の場合) は、次のとおりです。スプレッド構文を使用して NodeList を配列に変換します。

<code class="javascript">var div_list = document.querySelectorAll("div"); // returns NodeList
var div_array = [...div_list]; // converts NodeList to Array

div_array.forEach(function(div) {
  // Do something with div
});</code>
ログイン後にコピー

追加の考慮事項

  • ブラウザの互換性のために、次の場合は Babel.js などのトランスパイラを使用するようにしてください。必要です。
  • Node.js を使用する場合は、NodeList で .map() メソッドを利用できます。

以上がdocument.querySelectorAll を使用して選択した要素を効果的にループする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!