ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery は本当にすべての CSS セレクターをサポートしていますか?

jQuery は本当にすべての CSS セレクターをサポートしていますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 06:03:30292ブラウズ

Does jQuery Truly Support All CSS Selectors?

jQuery のセレクター サポート: 謎の解明

jQuery は広範な CSS セレクター サポートを誇っていますが、:nth-last-child() などの特定のセレクターはとらえどころのないままです。しかし、それは思っているほど単純ではありません。

jQuery の CSS3 セレクターの部分的な実装

セレクター レベル 3 に準拠していると主張しているにもかかわらず、jQuery のセレクター実装はいくつかの領域で不十分です。 、そのドキュメントで明らかにされているように。すべてではありませんが、ほとんどのレベル 3 セレクターをサポートする、基礎となるセレクター ライブラリである Sizzle に依存しています。

サポートされるセレクターとサポートされないセレクター

jQuery 1.9 以降、Sizzle は以下をサポートします。以下を除くほぼすべてのレベル 3 セレクター:

  • 擬似要素
  • :link/:visited や :hover などの動的擬似クラス
  • 名前空間プレフィックス

さらに、jQuery は独自のセレクターを追加しました。

:nth-last-child() in Action

The :nth-last-child( ) セレクターは、jQuery が document.querySelectorAll() を利用しているため、一部のブラウザーで動作するようです。 :nth-last-child() と document.querySelectorAll() の両方をサポートするブラウザ (Firefox、Chrome、IE9 など) は、jQuery が利用できるノード リストを返します。

フォールバック メカニズムと IE8 の互換性

document.querySelectorAll() が失敗した場合、jQuery は Sizzle にフォールバックします。ただし、Sizzle は :nth-last-child() をサポートしていません。 IE8 は document.querySelectorAll() を実装していないため、フォールバック メカニズムが失敗し、IE8 で障害が発生します。

代替ソリューション

jQuery 1.9 以降にアップグレードすると解決します。 :nth-last-child() の問題。あるいは、jQuery は、サポートされていない疑似クラスを実装するためのカスタム セレクター拡張機能を提供します。

以上がjQuery は本当にすべての CSS セレクターをサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。