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
Methode 1: Verwenden Sie die erweiterte Suche von...
【Frage】 Wenn die äußere und die innere Tabelle ve...
Glasfenster Was wir heute erreichen werden, ist d...
In diesem Artikelbeispiel wird der spezifische Co...
Der MySQL DECIMAL Datentyp wird zum Speichern exa...
1. Installationsschritte für MySQL-Version 8.0.12...
Ergebnisse erzielen Implementierungscode html <...
Führen Sie zuerst den Befehl aus: [root@mini61 se...
In einer ungeordneten Liste ul>li ist das Symb...
Inhaltsverzeichnis Vorwort Umsetzungsideen Wirkun...
Inhaltsverzeichnis Ursachen der MySQL-Tabellenfra...
Übergeben Sie einfach benutzerdefinierte Paramete...
Vorwort Der Autor war schon immer der Meinung, da...
Inhaltsverzeichnis 1. querySelector fragt ein ein...
html4: Code kopieren Der Code lautet wie folgt: &...