jQuery .length属性不返回正确的值

时间:2013-11-19 10:08:36

标签: jquery

以下问题:

<div id="container">
    <div id="div1" class="div">Div #1</div>
    <div id="div2" class="div">Div #2</div>
    <div id="div3" class="div">Div #3</div>
    <div id="div4" class="div">Div #4</div>
    <div id="div5" class="div">Div #5</div>
</div>

我想计算容器内的所有元素,所以我尝试了这个:

$("#container").length;

没有工作,即使内部显然有5个元素,它也会返回1。我的错误在哪里?我无法找出我做错了什么。

4 个答案:

答案 0 :(得分:4)

尝试使用它,

$("#container div").length;

我上面只使用了descendant选择器,如果您只想选择该特定div中的children,那么您应该更改您的选择器$("#container > div")

DEMO

答案 1 :(得分:4)

它确实有效 - 您要求ID为#container的元素数量。

要计算容器中的元素,请尝试以下方法:

$('#container div').length

答案 2 :(得分:2)

.length返回选择器的长度。

您的选择器为#container,因此返回1.

如果你想要#container的子女长度,那么写下

$("#container .div").length;

答案 3 :(得分:1)

试试这个,首先选择合适的元素来检测长度

容器返回1

container div返回5

$("#container div").length;