Heim >Web-Frontend >CSS-Tutorial >Unterstützt jQuery wirklich alle CSS3-Selektoren?

Unterstützt jQuery wirklich alle CSS3-Selektoren?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 13:47:02951Durchsuche

Does jQuery Really Support All CSS3 Selectors?

jQuerys Unterstützung für CSS3-Selektoren

jQuery behauptet, eine breite Palette von CSS-Selektoren zu unterstützen, aber nicht alle in der Dokumentation aufgeführten Selektoren sind vollständig implementiert.

Unterstützte Selektoren (jQuery 1.9 und neuer)

  • Die meisten Selektoren im Level-3-Standard, außer:

    • Pseudoelemente
    • Dynamische Pseudoklassen
    • Namespace-Präfixe
  • :target, :root, :nth-last-child() , :nth-of-type(), :nth-last-of-type(), :first-of-type, :last-of-type, :only-of-type

Nicht unterstützte Selektoren

  • Pseudoelemente
  • Dynamische Pseudoklassen
  • Namespace-Präfixe
  • :lang()

Fallback auf document.querySelectorAll()

Wenn jQuery auf einen nicht unterstützten Selektor stößt, versucht es, ihn an die native document.querySelectorAll()-Implementierung des Browsers zu übergeben. Wenn document.querySelectorAll() den Selektor verarbeiten kann, verwendet jQuery die zurückgegebene Knotenliste, um die Notwendigkeit einer eigenen Selektorbibliothek, Sizzle, zu umgehen.

Inkompatibilität mit IE8

IE8 unterstützt den Selektor :nth-last-child() in document.querySelectorAll() nicht. Infolgedessen greift jQuery auf seine inkompatible Sizzle-Implementierung zurück, was dazu führt, dass der Selektor in IE8 fehlschlägt.

Empfehlung

Um die Kompatibilität mit allen Browsern sicherzustellen, ist dies der Fall Es wird empfohlen, jQuery 1.9 oder neuer zu verwenden, das alle Level-3-Selektoren außer den oben aufgeführten unterstützt. Alternativ können benutzerdefinierte Selektorerweiterungen verwendet werden, um fehlende Pseudoklassen in älteren jQuery-Versionen zu implementieren.

Das obige ist der detaillierte Inhalt vonUnterstützt jQuery wirklich alle CSS3-Selektoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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