给出以下示例表:
<ul class="topnav">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
有什么区别:
$selector1 = $('ul.topnav > li');
和
$selector2 = $('ul.topnav').each();
编辑:
$ selector2 = $('ul.topnav li')。each();
答案 0 :(得分:4)
第一个将包含所有li
个ul.topnav
的直接子项,第二个将包含所有ul.topnav
个元素。
答案 1 :(得分:2)
答案 2 :(得分:1)
$('ul.topnav > li')
将直接在<li>
下选择所有ul
。
each
应该将一个函数作为参数,并迭代所有匹配的<ul>
- 它不会占用子<li>
。如果有的话,您需要$('ul.topnav').children()
,如果ul
仅包含li
元素,则相同。
例如,这将alert
每个列表中的子项数(在您的情况下,只有数字3
)
$selector2 = $('ul.topnav').each(function(){
alert($(this).children().length);
});
另见jquery API。
答案 3 :(得分:0)
第二个将单独评估它们,而第一个将评估它们作为一个组