Maison > interface Web > tutoriel CSS > JQuery prend-il vraiment en charge tous les sélecteurs CSS3, y compris :nth-last-child() ?

JQuery prend-il vraiment en charge tous les sélecteurs CSS3, y compris :nth-last-child() ?

Patricia Arquette
Libérer: 2024-11-03 06:16:03
original
437 Les gens l'ont consulté

Does jQuery Really Support All CSS3 Selectors, Including :nth-last-child()?

Prise en charge par jQuery des sélecteurs CSS3 : un examen approfondi

Alors que jQuery prétend prendre en charge un large éventail de sélecteurs CSS, la question de s'il prend réellement en charge les sélecteurs comme :nth-last-child() a refait surface. Examinons ce sujet et comprenons les limitations et exceptions.

Prise en charge limitée des sélecteurs CSS3

Malgré la conformité avec les sélecteurs de niveau 3, jQuery n'implémente pas entièrement la norme . Sa documentation sur les sélecteurs précise qu'il intègre des éléments de CSS 1 à 3 et ajoute ses propres sélecteurs personnalisés.

Exception : nth-last-child() et autres sélecteurs de niveau 3

À partir de jQuery 1.9, presque tous les sélecteurs de niveau 3 sont pris en charge dans la bibliothèque de sélecteurs Sizzle, à l'exception d'une poignée de limitations :

  • Pseudo-classes dynamiques : jQuery ne peut pas résolvez des classes comme :link et :focus car elles nécessitent des gestionnaires d'événements plutôt que des pseudo-classes.
  • Préfixes d'espace de noms : l'espace de noms en CSS n'est pas pris en charge par jQuery.
  • Sélecteurs manquants : Les sélecteurs de niveau 3 suivants ne sont pas implémentés dans jQuery 1.8 ou version antérieure : :target, :root, :nth-last-child() et autres. De plus, :lang() est également manquant.

Retours et compatibilité

jQuery utilise l'implémentation native document.querySelectorAll() chaque fois que cela est possible. Si document.querySelectorAll() échoue ou n'est pas pris en charge, jQuery revient à Sizzle. Cela signifie que des sélecteurs comme :nth-last-child() peuvent fonctionner dans les navigateurs qui les prennent en charge de manière native, même si jQuery lui-même ne le fait pas.

Recommandation :

Si vous avez besoin d'une prise en charge complète des sélecteurs de niveau 3 comme :nth-last-child(), il est recommandé de passer à jQuery 1.9 ou version ultérieure, ce qui ajoute la prise en charge de ces sélecteurs tout en conservant la compatibilité avec les anciennes versions d'IE. Vous pouvez également envisager d'utiliser les extensions de sélecteur personnalisées de jQuery pour implémenter vous-même les sélecteurs manquants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal