カスタム クラスを使用children()
して jQuery での要素の選択がどのように機能するかについて混乱していますか?:first
たとえば、この jsFiddleでは、コードul > li {hello from nest}
はクラスを取得しませんが.emphasis
、first-child
トップ レベルのul
が取得します。インナーli
もクラスを取得することを期待していました。
私の jQuery コードのコメント アウトされた行は、期待どおりに機能します。
カスタム クラスを使用children()
して jQuery での要素の選択がどのように機能するかについて混乱していますか?:first
たとえば、この jsFiddleでは、コードul > li {hello from nest}
はクラスを取得しませんが.emphasis
、first-child
トップ レベルのul
が取得します。インナーli
もクラスを取得することを期待していました。
私の jQuery コードのコメント アウトされた行は、期待どおりに機能します。
:first
セレクターは、選択されたすべてのアイテムの中で最初に一致したアイテムを返します
そう
$('ul').children('li:first').addClass('emphasis');
ul
であるすべての子を選択しli
、最初の子を取得します。
一方
$('ul > li:first-child').addClass('emphasis');
li
の直接の子であるすべてのをul
取得し、一致したセットの最初のすべての子を取得します。
jQuery は DOM ツリーをスローしul
、このタグの最初の -Tagを見つけました。これfirst-child
は、li
作成した CSS を取得します。
したがって、それはそれらすべての最初のものを意味します。
jQuery を使用すると、最初の子だけでなく、ul > li:first-child
すべての最初の子であるすべての li が取得されますul
。