Heim > Web-Frontend > js-Tutorial > Hauptteil

So durchlaufen Sie ausgewählte Elemente effektiv mit document.querySelectorAll

Barbara Streisand
Freigeben: 2024-10-20 21:15:30
Original
759 Leute haben es durchsucht

How to Effectively Loop Through Selected Elements Using document.querySelectorAll

Durchlaufen ausgewählter Elemente mit document.querySelectorAll

document.querySelectorAll ist eine leistungsstarke Methode, mit der Sie mehrere Elemente basierend auf einem bestimmten Wert auswählen können CSS-Selektor. Um diese ausgewählten Elemente zu durchlaufen, ist es wichtig, die Nuancen des resultierenden NodeList-Objekts zu verstehen.

NodeList vs. Array

Das Problem, mit dem Sie bei der Verwendung eines for konfrontiert waren. ..in Schleife ist, dass NodeList kein Array ist. Obwohl NodeList einem Array ähnelt, verfügt es über zusätzliche Eigenschaften wie item() und namedItem(). Infolgedessen durchläuft eine for...in-Schleife diese Eigenschaften zusätzlich zu den Elementen selbst, was zu den zusätzlichen drei Elementen führt, auf die Sie gestoßen sind.

Best Practices für Schleifen

Um dieses Problem zu vermeiden und die Schleife korrekt durchzuführen, sollten Sie die folgenden Ansätze in Betracht ziehen:

Verwenden einer For-Schleife mit Index

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

for (var i = 0; i < checkboxes.length; i++) {
  // Do something with checkboxes[i]
}</code>
Nach dem Login kopieren

Verwenden einer ForEach-Schleife (ES2015)

Die forEach()-Methode wurde speziell für die Iteration über Arrays und NodeLists entwickelt. Es vereinfacht die Schleifensyntax und macht sie prägnanter:

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

checkboxes.forEach(function(checkbox) {
  // Do something with checkbox
});</code>
Nach dem Login kopieren

NodeList in Array konvertieren (ES2015)

Eine weitere effektive Methode, insbesondere für ES2015-Umgebungen, ist Konvertieren Sie die NodeList mithilfe der Spread-Syntax in ein Array:

<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>
Nach dem Login kopieren

Zusätzliche Überlegungen

  • Stellen Sie aus Gründen der Browserkompatibilität sicher, dass Sie einen Transpiler wie Babel.js verwenden, wenn erforderlich.
  • Wenn Sie mit Node.js arbeiten, können Sie die .map()-Methode für NodeLists nutzen.

Das obige ist der detaillierte Inhalt vonSo durchlaufen Sie ausgewählte Elemente effektiv mit document.querySelectorAll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!