Selektoren sind eine sehr leistungsstarke Funktion von Später erweiterte DOM den 1. querySelector fragt ein einzelnes Element ab Das Syntaxformat ist wie folgt: Dokumentinstanz.querySelector (Selektorzeichenfolge); Elementinstanz.querySelector (Selektorzeichenfolge); 1. Dokumentinstanzaufruf Ein einfaches Beispiel sieht wie folgt aus: // Holen Sie das Body-Element let body = document.querySelector("body"); console.log(Text) // Holen Sie das Element mit der ID „Container“, nur das erste wird abgerufen. let container = document.querySelector("#container"); konsole.log(Container) // Holen Sie das Element, das btn in der Klasse enthält. Nur das erste wird abgerufen. let btn = document.querySelector(".btn"); konsole.log(btn); // Holen Sie das Element, das btn enthält, in der direkten Unterklasse des Containers. Nur das erste wird abgerufen. let containerBtn = document.querySelector("#container>.btn"); console.log(containerBtn); 2. Aufruf einer Elementinstanz Einfaches Beispiel: // Holen Sie sich das Element mit der ID „Container“. let container = document.querySelector("#container"); // Es muss geprüft werden, ob das Elementobjekt existiert. Nur wenn es existiert, gibt es eine querySelector-Methode if (container) { // Finde nur Elemente im Container, deren Klasse btn enthält. let containerBtn = container.querySelector(".btn"); console.log(containerBtn); } Da CSS über den Selektor jedes Element auf der Seite abrufen kann, kann Beispielsweise kann das obige Beispiel direkt wie folgt geschrieben werden: let containerBtn = document.querySelector("#container .btn"); Und da es ein if-Urteil weniger gibt, ist der Code prägnanter. Natürlich wurde in einigen Geschäftsszenarien die 2. querySelectorAll fragt alle Elemente ab Die Methode Einfaches Beispiel: // Angenommen, die Seite hat zwei Div-Klassen, die Artikel enthalten // Alle Elemente abrufen, deren Klasse den Artikel enthält. let articleList = document.querySelectorAll(".article"); console.log(Artikelliste); console.log(Artikelliste.Länge); // Konsolenausgabe: // Knotenliste(2) [div.Artikel, div.Artikel] // 2 Die Methode // für die Durchquerung für (let item of articleList) { konsole.log(Element); } // für die Durchquerung for (let i = 0; i < articleList.length; i++) { console.log(Artikelliste[i]); console.log(Artikelliste.Element(i)); } // forEach durchläuft articleList.forEach((item, index) => { Konsole.log(Element, Index); }); 1. Probleme mit for bei der Durchquerung Wenn „for 2. Das Problem von Schnappschüssen statt Echtzeit Die mit Betrachten Sie das folgende Beispiel: //Verwenden Sie querySelectorAll zum Abrufen. ArticleList ist statisch und nicht in Echtzeit. let articleList = document.querySelectorAll(".article"); console.log(Artikelliste); console.log(Artikelliste.Länge); // 2 setzeTimeout(() => { // Ein Element hinzufügen let div = document.createElement("div"); div.className = "Artikel"; Dokument.body.appendChild(div); console.log(Artikelliste); // Noch 2 console.log(Artikelliste.Länge); }, 0); Schließlich wird ein Timer eingestellt und ein Wenn Betrachten Sie das folgende Beispiel: //Verwenden Sie getElementsByClassName zum Abrufen. ArticleList ist in Echtzeit. Let articleList = document.getElementsByClassName("article"); console.log(Artikelliste); console.log(Artikelliste.Länge); setzeTimeout(() => { // Ein Element hinzufügen let div = document.createElement("div"); div.className = "Artikel"; Dokument.body.appendChild(div); console.log(Artikelliste); // Hier ist 3 console.log(Artikelliste.Länge); }, 0); Zeigen Sie die Druckergebnisse in der Konsole an: Dynamische Effekte der HTMLCollection: Das durch die Verwendung von 3. Zusammenfassung
Dies ist das Ende dieses Artikels über Das könnte Sie auch interessieren:
|
>>: Beispielcode für die Verwendung von HTML-Tags „ul“ und „li“ zur Anzeige von Bildern
lsof (List Open Files) ist ein Tool zum Anzeigen ...
Wenn Sie MySQL installieren, wird Ihnen ein erste...
1. Wie wird die aktuelle Uhrzeit in MySQL dargest...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Experimentelle Umgebung 2. ...
Ich habe Vue und Bootstrap verwendet, um ein rela...
# Installations-Daemon-Konfiguration für Redis un...
1. Vorschau des Farbabstimmungseffekts Wie im GIF...
Linux: Linux-Version 3.10.0-123.9.3.el7.x86_64 Ng...
In der vorherigen Entwicklung haben wir die Stand...
Einführung Die Docker-Community hat viele Open-So...
Vorwort Die Datenbank-Deadlocks, die ich zuvor er...
Ich habe kürzlich bei einem praktischen Trainings...
In diesem Artikel wird der spezifische Code von j...
Vorwort Für das Projekt ist ein kreisförmiges Men...