无法理解children()和:首先在jQuery中

时间:2013-05-12 21:52:46

标签: jquery jquery-selectors

我对使用children():first自定义类如何选择jQuery中的元素感到困惑?

例如in this jsFiddle,代码ul > li {hello from nest}没有获得类.emphasis,但顶级first-child的{​​{1}}获得了它。我希望内部ul也能得到这个类。

我的jQuery代码中注释掉的行正如我所期望的那样工作。

2 个答案:

答案 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-childli,它将获得您创建的CSS。

所以这意味着它们中的第一个。

使用ul > li:first-child jQuery会将每个ul的第一个子项视为第一个孩子。