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
Teil des Codes: Code kopieren Der Code lautet wie...
Im Linux-Umfeld möchten Sie prüfen, ob eine besti...
Ursprünglicher abgeleiteter Befehl: bin/sqoop imp...
Inhaltsverzeichnis WXS-Antwortereignis Plan A Sei...
Inhaltsverzeichnis 1. Was ist dynamische Typisier...
1. Entpacken Sie MySQL 5.7 2. Erstellen Sie eine ...
Geschäftsszenarioanforderungen und Implementierun...
Dieser Artikel veranschaulicht anhand von Beispie...
MySQL-Datenbanken werden häufig verwendet, insbes...
Inhaltsverzeichnis Probleme, die Redux Toolkit lö...
Inhaltsverzeichnis 1. DOM-Diff 2. Fügen Sie Eleme...
In diesem Artikel wird der spezifische JavaScript...
Problemphänomen: [root@localhost ~]# Docker-Image...
Ein Problem, auf das Frontend-Entwickler häufig s...
Inhaltsverzeichnis 1. Template-Tag in HTML5 2. Ei...