有没有人知道如何从.each()循环中计算元素的第一级子元素?
例如,我的页面上有几个列表,如此......
<ul>
<li><a href="#">item1</a></li>
<li><a href="#">item2</a></li>
<li><a href="#">item3</a></li>
<li><a href="#">item4</a></li>
</ul>
<ul>
<li><a href="#">item1</a></li>
<li><a href="#">item2</a></li>
<li><a href="#">item3</a></li>
<li><a href="#">item4</a></li>
<li><a href="#">item5</a></li>
<li><a href="#">item6</a></li>
</ul>
<ul>
<li><a href="#">item1</a></li>
<li><a href="#">item2</a></li>
<li><a href="#">item3</a></li>
</ul>
我正在尝试遍历每个列表并确定它有多少列表项,除了使用jQuery .size()也将标记计为元素。我只需要知道有多少列表项。
另外,我不知道如何做到这一点,因为使用类似jQuery('ul&gt; li')的东西。在.each()循环中无法访问size(),因为我引用了每个与jQuery不同(这个)。有没有办法做一些像jQuery(这个'&gt; li')?因为这对我不起作用:)
这是我一直在尝试的,但我没有运气:
jQuery('ul').each(function() {
var count = jQuery(this).find('li').size();
alert(count);
});
答案 0 :(得分:2)
您可以使用length
属性:
$('ul').each(function() {
var count = $(this).find('li').length;
alert(count);
});
或者如果您想选择直接子li标签,可以尝试:
$('ul').each(function() {
var count = $('> li', this).length;
alert(count);
});
答案 1 :(得分:0)
'&GT;' immediateChild selector
您可以在使用$('> li')
或使用替代
$(this).find()
$('ul').each(function(){
var length = $('>li', this).length;
alert(length);
});
答案 2 :(得分:0)
试试这个。我觉得它好多了。
var rt = 0;
$('ul').each(function() {
rt++;
});
alert(rt);