使用jQuery计算<ul>中的<li> </ul> </li>

时间:2009-06-23 21:41:12

标签: jquery list

我有一个这样的简单列表:

<ul id="cyclelist">
   <li>Item 1</li>
   <li>Item 2</li>
   <li>Item 3</li>
</ul>

我正在使用jQuery循环遍历列表。第一个问题是查找列表是否包含多个元素。我期待这样的事情发挥作用:

var $list = $('#cyclelist');

if ($list.length > 1) {
  ...
}

但是长度总是返回1.有没有更好的方法来使用jQuery查找列表的长度?或者我错了吗?

4 个答案:

答案 0 :(得分:13)

尝试$('#cyclelist li').length

问题是$('#cyclelist')只有一个元素 - 整个无序列表。如果您想知道无序列表中列表项的数量,可以添加其他选择器“li”。

答案 1 :(得分:2)

var $list = $('#cyclelist li');

alert($list.length);

简单地说:您获得了与该选择器匹配的UL数量。

答案 2 :(得分:2)

你的选择器正在选择id为“cyclelist”的dom元素,它是一个单独的元素(带有该id的ul)。你想要做的是选择附加到ul的li元素。要做到这一点,你可以做(​​如上所述)

    $('#cyclelist li')

答案 3 :(得分:1)

$('#cyclelist')

对id =“cyclelist”的元素使用CSS选择器,因此返回一个元素/对象引用,这是正确的; - )

我猜你可能意味着什么

$('#cyclelist li')

返回指定元素中的列表项。

更多jQuery方式的迭代元素集合的方法是使用每个,c.f。 http://docs.jquery.com/Core/each