jQuery のセレクター サポート: 謎の解明
jQuery は広範な CSS セレクター サポートを誇っていますが、:nth-last-child() などの特定のセレクターはとらえどころのないままです。しかし、それは思っているほど単純ではありません。
jQuery の CSS3 セレクターの部分的な実装
セレクター レベル 3 に準拠していると主張しているにもかかわらず、jQuery のセレクター実装はいくつかの領域で不十分です。 、そのドキュメントで明らかにされているように。すべてではありませんが、ほとんどのレベル 3 セレクターをサポートする、基礎となるセレクター ライブラリである Sizzle に依存しています。
サポートされるセレクターとサポートされないセレクター
jQuery 1.9 以降、Sizzle は以下をサポートします。以下を除くほぼすべてのレベル 3 セレクター:
さらに、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 サイトの他の関連記事を参照してください。