我正在尝试计算我的div中的类.test中有多少元素。我有
<div id='testDiv'>ddd
<div class='test'> 111<div> another div </div></div>
<div class='test'> 222</div>
<div class='test'> 333</div>
more...
</div>
我的jQuery:
if($('#testDiv.test').length>5){
alert('haha');
}
我似乎无法通过类名测试获得正确的div数。
答案 0 :(得分:5)
更改选择器如下:
$('#testDiv .test').length
在space
和#testDiv
之间加.test
。
$('#testDiv .test')
会找出#testDiv
class=test
的直接子女。
完整代码:
if( $('#testDiv .test').length > 5 ){
alert('haha');
}
$('#testDiv.test')
表示您选择的某个元素同时包含id=testDiv
和class=test
<div id="testDiv" class="test"></div>
。
答案 1 :(得分:4)
尝试在#testDiv
和.test
$('#testDiv .test').length
您拥有的内容如下,
$('#testDiv.test') //- element with ID testDiv and class test
//<div id="testDiv" class="test">...</div>
答案 2 :(得分:3)
您正在搜索ID为testDiv
AND 类test
的元素,例如
<div id="testDiv" class="test">
你需要
$('#testDiv .test")
^--- note the space
代替。对于空间,所有具有类'test'的节点都是具有id testDiv的节点的子节点。
答案 3 :(得分:1)
尝试:
$('#testDiv').children('.test').length;
答案 4 :(得分:1)
$('#testDiv .test")
这将计算所有立即后代 - 如果它是孩子的孩子,则不会计算它。$('#testDiv').find('.test')
或只是$('#testDiv, .test')
会找到所有后代。