(aus Planet Web 2.0) CSSQuery () ist eine neue JavaScript-Bibliothek, die von Dean Edwards (einem bekannten Entwickler von IE7-Skripten) entwickelt wurde. DOM ist eine leistungsstarke und effiziente API zum Lesen, Schreiben und ?ndern von HTML- und XML -Dokumenten. In Verbindung mit JavaScript ist dies die Grundlage für den DHTML -Effekt. Manchmal kann es jedoch viel Code erfordern. Betrachten Sie dieses kleine Ausschnitt, das aus dem Tischsortierungsskript stammt, das wir auf SitePoint verwenden:
function sortables_init() { // 查找所有具有 sortable 類的表格并使其可排序 if (!document.getElementsByTagName) return; tbls = document.getElementsByTagName("table"); for (ti=0; ti < tbls.length; ti++) { thistbl = tbls[ti]; ts_makesortable(thistbl); } }
Dieser Code ist gut, aber er ruft tats?chlich nur die TS_Makesortable -Funktion auf jedes Tabellenelement auf, das die sortierbare Klasse anwendet. Hier ist der Code mit CSSQuery ():
function sortables_init() { // 查找所有具有 sortable 類的表格并使其可排序 tbls = cssQuery("table.sortable"); for (ti=0; ti < tbls.length; ti++) { ts_makesortable(tbls[ti]); } }
In typischen DHTML -Skripten sind die resultierenden Codeeinsparungen erstaunlich. Natürlich werden Sie eine gewisse Leistung opfern, da Ihr CSS -Selektor in reinem JavaScript analysiert und interpretiert werden muss, aber bisher haben nur wenige JavaScript -Anwendungen den Browser überw?ltigt.
cssquery () unterstützt alle CSS1- und CSS2 -Selektoren sowie viele CSS3 -Selektoren. Dies ist sogar noch besser als die meisten aktuellen Webbrowser - und es ist vollst?ndig in reinem JavaScript geschrieben!
update:
Simon Willison hat im M?rz 2003 GetElementsBySelector () eine ?hnliche Bibliothek erstellt. Es unterstützt nicht so viele CSS -Auswahltypen, kann jedoch die meisten Funktionen enthalten, die Sie für Ihren t?glichen Gebrauch ben?tigen. Daher kann es leichter sein.
FAQs über CSS -Abfrage
Was ist CSS -Abfrage und wie funktioniert es?
CSS -Abfrage, auch als CSS -Selektor bezeichnet, ist ein leistungsstarkes Tool in der Webentwicklung zur Auswahl und Manipulation von HTML -Elementen basierend auf der ID, Klasse, Typ, Attribut usw. Es funktioniert, indem ein bestimmter Stil auf Elemente angewendet wird, die dem angegebenen Selektor entsprechen. Auf diese Weise k?nnen Entwickler einfach dynamische und interaktive Webseiten erstellen. Die CSS -Abfrage wird in JavaScript für DOM -Operationen h?ufig verwendet, um Elemente in Testwerkzeugen wie Selen zu finden.
Wie verwendet Sie eine CSS -Abfrage, um Elemente basierend auf Attributen auszuw?hlen?
MitCSS -Abfrage k?nnen Sie mithilfe von Quadratklammern [] basierend auf den Attributen des Elements ausw?hlen. Um beispielsweise alle Elemente mit einem bestimmten Attribut auszuw?hlen, k?nnen Sie die Syntax: Element [Attribut] verwenden. Um ein Element mit einem bestimmten Attributwert auszuw?hlen, k?nnen Sie die Syntax: Element [Attribute = "value"] verwenden. Diese Funktion ist besonders nützlich, wenn Sie Elemente mit bestimmten Attributen auf unterschiedliche Weise stylen m?chten.
Kann ich mehrere Elemente mit CSS -Abfrage gleichzeitig ausw?hlen?
Ja, CSS -Abfrage erm?glicht es Ihnen, mehrere Elemente gleichzeitig mit einem Komma auszuw?hlen. Beispielsweise w?hlt Syntax: H1, H2, H3 {Farbe: Rot} alle H1-, H2- und H3 -Elemente aus und wenden Sie eine rote Farbe auf sie an. Diese Funktion ist nützlich, wenn Sie denselben Stil auf mehrere Elemente anwenden m?chten.
Wie verwendet ich CSS -Abfrage, um untergeordnete Elemente auszuw?hlen?
MitCSS -Abfrage k?nnen Sie unter Verwendung des & gt unterbrochenen Elemente ausgew?hlt werden. Zum Beispiel wird Syntax: Div & GT; Dies ist nützlich, wenn Sie den Stil eines untergeordneten Elements vom Stil eines übergeordneten Elements unterscheiden m?chten.
Kann ich eine CSS -Abfrage verwenden, um basierend auf dem Status eines Elements auszuw?hlen?
Ja, CSS-Abfrage erm?glicht es Ihnen, die Pseudoklasse zu verwenden, um basierend auf dem Status eines Elements auszuw?hlen. Beispielsweise w?hlt Syntax: A: Hover {Color: Red} sie, wenn sie über alle A -Elemente schweben und eine rote Farbe auf sie anwenden. Diese Funktion ist sehr nützlich, um interaktive Webseiten zu erstellen.
Wie kann ich CSS -Abfrage verwenden, um Geschwisterelemente auszuw?hlen?
MitCSS -Abfrage k?nnen Sie mit dem Bediener Geschwisterelemente ausw?hlen. Beispielsweise w?hlt Syntax: Div P das P -Element unmittelbar nach dem Div -Element aus. Diese Funktion ist nützlich, wenn Sie Elemente basierend auf der Stelle stylen m?chten, wo sie sich in einem HTML -Dokument befinden.
Kann ich eine CSS -Abfrage verwenden, um basierend auf dem Element im HTML -Dokument auszuw?hlen?
Ja, CSS-Abfrage erm?glicht es Ihnen, Pseudoklassen wie: First-Child,: Last-Child und: N-Child (N) zu verwenden, um auszuw?hlen, anhand derer der Element im HTML-Dokument sich befindet. Beispielsweise w?hlt Syntax: P: First-Child {Color: Red} das erste P-Element aus und wendet eine rote Farbe darauf an. Diese Funktion ist nützlich, um dynamische und interaktive Webseiten zu erstellen.
Wie verwendet ich die CSS -Abfrage, um basierend auf der Art des Elements auszuw?hlen?
MitCSS -Abfrage k?nnen Sie Elementtypen als Selektoren basierend auf dem Elementtyp verwenden. Beispielsweise w?hlt Syntax: P {Farbe: Rot} alle p -Elemente aus und wenden eine rote Farbe auf sie an. Diese Funktion ist nützlich, wenn Sie alle Elemente eines bestimmten Typs auf die gleiche Weise stylen m?chten.
Kann ich eine CSS -Abfrage verwenden, um basierend auf der Klasse oder ID des Elements auszuw?hlen?
Mit CSS -Abfrage k?nnen Sie den Operator basierend auf der Klasse des Elements verwenden und den # Operator basierend auf der ID des Elements ausw?hlen. Beispielsweise w?hlt Syntax: .Class {Farbe: Red} alle Elemente mit der Klasse "Klasse" aus und wenden Sie eine rote Farbe darauf an. In ?hnlicher Weise w?hlt Syntax: #id {Farbe: Red} das Element mit ID "ID" aus und wenden Sie eine rote Farbe darauf an. Diese Funktion ist nützlich, wenn Sie den Stil eines bestimmten Elements von dem Stil anderer Elemente unterscheiden m?chten.
So verwenden Sie eine CSS -Abfrage, um Elemente auszuw?hlen, die nicht mit einem bestimmten Selektor übereinstimmen?
Mit
CSS-Abfrage k?nnen Sie die: nicht () Pseudo-Klasse verwenden, um Elemente auszuw?hlen, die nicht mit einem bestimmten Selektor übereinstimmen. Zum Beispiel syntax: p: nicht (.class) {color: rot} w?hlt alle p -Elemente aus, die keine Klasse "Klasse" haben, und wenden Sie eine rote Farbe darauf an. Diese Funktion ist nützlich, wenn Sie alle Elemente mit Ausnahme der Elemente stylen m?chten, die einem bestimmten Selektor entsprechen.
Das obige ist der detaillierte Inhalt vonCSSQuery (): Fragen Sie das DOM mit CSS -Selektoren ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Es gibt drei g?ngige M?glichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abh?ngigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengen?hten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorg?nge zu vereinfachen. 3.Node-Fetch bietet einen Stil ?hnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

JavaScript -Datentypen sind in primitive Typen und Referenztypen unterteilt. Zu den primitiven Typen geh?ren String, Anzahl, Boolesche, Null, undefiniertes und Symbol. Die Werte sind unver?nderlich und Kopien werden bei der Zuweisung von Werten kopiert, sodass sie sich nicht gegenseitig beeinflussen. Referenztypen wie Objekte, Arrays und Funktionen speichern Speicheradressen, und Variablen, die auf dasselbe Objekt zeigen, wirkt sich gegenseitig aus. Typeof und Instanz k?nnen verwendet werden, um die Typen zu bestimmen, aber auf die historischen Probleme der TypeOfnull zu achten. Das Verst?ndnis dieser beiden Arten von Unterschieden kann dazu beitragen, einen stabileren und zuverl?ssigeren Code zu schreiben.

Welches JavaScript -Framework ist die beste Wahl? Die Antwort besteht darin, die am besten geeigneten nach Ihren Bedürfnissen zu w?hlen. 1.React ist flexibel und kostenlos und für mittlere und gro?e Projekte geeignet, für die hohe Anpassungs- und Teamarchitekturf?higkeiten erforderlich sind. 2. Angular bietet vollst?ndige L?sungen, die für Anwendungen auf Unternehmensebene und langfristige Wartung geeignet sind. 3.. Vue ist einfach zu bedienen, geeignet für kleine und mittlere Projekte oder schnelle Entwicklung. Unabh?ngig davon, ob es einen technologischen Stack, die Teamgr??e, der Projektlebenszyklus gibt und ob SSR erforderlich ist, sind auch wichtige Faktoren für die Auswahl eines Rahmens. Kurz gesagt, es gibt keinen absolut besten Rahmen, die beste Wahl ist die, die Ihren Bedürfnissen entspricht.

Hallo, JavaScript -Entwickler! Willkommen in den JavaScript -Nachrichten dieser Woche! Diese Woche konzentrieren wir uns auf: Oracas Markenstreit mit Deno, neue JavaScript -Zeitobjekte werden von Browsern, Google Chrome -Updates und einigen leistungsstarken Entwickler -Tools unterstützt. Fangen wir an! Der Markenstreit von Oracle mit dem Versuch von Deno Oracle, ein "JavaScript" -Marke zu registrieren, hat Kontroversen verursacht. Ryan Dahl, der Sch?pfer von Node.js und Deno, hat eine Petition zur Absage der Marke eingereicht, und er glaubt, dass JavaScript ein offener Standard ist und nicht von Oracle verwendet werden sollte

Cacheapi ist ein Tool, das der Browser zur Cache -Netzwerkanfragen bereitstellt, das h?ufig in Verbindung mit dem Servicearbeiter verwendet wird, um die Leistung der Website und die Offline -Erfahrung zu verbessern. 1. Es erm?glicht Entwicklern, Ressourcen wie Skripte, Stilbl?tter, Bilder usw. Zu speichern; 2. Es kann die Cache -Antworten entsprechend den Anfragen übereinstimmen. 3. Es unterstützt das L?schen bestimmter Caches oder das L?schen des gesamten Cache. 4.. Es kann Cache -Priorit?ts- oder Netzwerkpriorit?tsstrategien durch Servicearbeiter implementieren, die sich auf Fetch -Ereignisse anh?ren. 5. Es wird h?ufig für die Offline -Unterstützung verwendet, die wiederholte Zugriffsgeschwindigkeit, die Vorspannungs -Schlüsselressourcen und den Inhalt des Hintergrundaktualisierungss beschleunigen. 6. Wenn Sie es verwenden, müssen Sie auf die Cache -Versionskontrolle, Speicherbeschr?nkungen und den Unterschied zum HTTP -Caching -Mechanismus achten.

Versprechen ist der Kernmechanismus für den Umgang mit asynchronen Operationen in JavaScript. Das Verst?ndnis von Kettenanrufen, Fehlerbehebung und Kombination ist der Schlüssel zum Beherrschen ihrer Anwendungen. 1. Der Kettenaufruf gibt ein neues Versprechen durch .then () zurück, um asynchrone Prozessverkampferung zu realisieren. Jeder. Dann () erh?lt das vorherige Ergebnis und kann einen Wert oder ein Versprechen zurückgeben; 2. Die Fehlerbehandlung sollte .Catch () verwenden, um Ausnahmen zu fangen, um stille Ausf?lle zu vermeiden, und den Standardwert im Fang zurückgeben, um den Prozess fortzusetzen. 3. Combinatoren wie Promise.All () (erfolgreich erfolgreich erfolgreich nach allen Erfolg), Versprechen.Race () (Die erste Fertigstellung wird zurückgegeben) und Versprechen.Allsettled () (Warten auf alle Fertigstellungen)

JavaScript-Array-integrierte Methoden wie .Map (), .filter () und .Reduce () k?nnen die Datenverarbeitung vereinfachen. 1) .Map () wird verwendet, um Elemente eins in eins um Neuarrays zu konvertieren; 2) .Filter () wird verwendet, um Elemente durch Bedingung zu filtern; 3) .Reduce () wird verwendet, um Daten als einzelner Wert zu aggregieren; Missbrauch sollte bei der Verwendung vermieden werden, was zu Nebenwirkungen oder Leistungsproblemen führt.

Die Ereignisschleife von JavaScript verwaltet asynchrone Vorg?nge, indem sie Call -Stapel, Webapis und Task -Warteschlangen koordinieren. 1. Der Anrufstack führt synchronen Code aus, und wenn er auf asynchrone Aufgaben begegnet, wird er zur Verarbeitung an Webapi übergeben. 2. Nachdem das Webapi die Aufgabe im Hintergrund abgeschlossen hat, wird der Rückruf in die entsprechende Warteschlange (Makroaufgabe oder Micro -Aufgabe) eingebaut. 3. Die Ereignisschleife prüft, ob der Anrufstapel leer ist. Wenn es leer ist, wird der Rückruf aus der Warteschlange herausgenommen und zur Ausführung in den Anrufstapel geschoben. V. 5. Das Verst?ndnis der Ereignisschleife hilft zu vermeiden, den Haupt -Thread zu blockieren und die Codeausführungsreihenfolge zu optimieren.
