以下是我的代码和相关的HTML,我想做的是,我想计算search-img-box
中search-img-ctrl
的数量,但我得到0
作为输出,只是告诉这里
以下div search-img-box
是动态创建的。
jQuery(document).ready(function() {
var numberOfDivs = jQuery('#search-img-ctrl').filter('.search-img-box').length;
alert(numberOfDivs);
});
以下是我的HTML
<div id="search-img-ctrl" class="search-img-ctrl">
<div id="search-img-box" class="search-img-box" name="search-img-box">
<img width="335" height="206" src="" alt="">
<ul>
</div>
<div id="search-img-box" class="search-img-box" name="search-img-box">
</div> </div>
答案 0 :(得分:4)
这是一个小提琴:http://jsfiddle.net/t5jcT/
我更改了过滤器以找到并删除了html中的重复ID。
jQuery(document).ready(function() {
var numberOfDivs = jQuery('#search-img-ctrl').find('.search-img-box').length;
alert(numberOfDivs);
});
或者你可以使用选择器代替find,正如其他人指出的那样:
jQuery(document).ready(function() {
var numberOfDivs = jQuery('#search-img-ctrl .search-img-box').length;
alert(numberOfDivs);
});
答案 1 :(得分:1)
使用.find
代替.filter
:
var numberOfDivs = jQuery('#search-img-ctrl').find('.search-img-box').length;
alert(numberOfDivs);
如果您只想查找该班级的直接孩子数量,可以使用.children
var numberOfDivs = jQuery('#search-img-ctrl').children('.search-img-box').length;
另外请确保您修改html,以便您的html元素不会有重复的ID