我对使用children()
和:first
自定义类如何选择jQuery中的元素感到困惑?
例如in this jsFiddle,代码ul > li {hello from nest}
没有获得类.emphasis
,但顶级first-child
的{{1}}获得了它。我希望内部ul
也能得到这个类。
我的jQuery代码中注释掉的行正如我所期望的那样工作。
答案 0 :(得分:2)
:first
选择器返回所有选定的
所以
$('ul').children('li:first').addClass('emphasis');
选择ul
li
的所有子项,然后选择其中的第一个。
而
$('ul > li:first-child').addClass('emphasis');
将所有li
作为ul
的直接子项,并获取匹配集的每个第一个子项。
答案 1 :(得分:0)
jQuery去抛出DOM树并找到第一个ul
- 此标记中的标记,first-child
是li
,它将获得您创建的CSS。
所以这意味着它们中的第一个。
使用ul > li:first-child
jQuery会将每个ul
的第一个子项视为第一个孩子。