我在使用:with with class name时遇到了麻烦。
例如:
<div class="groupedDiv" id="group1">
<div class="level1">
Apples
<div class="level2"> || L2-apple </div>
</div>
<div class="level1" style="display:none;">
Oranges
<div class="level2"> || [L2-orange] </div>
</div>
</div>
<br/>
<div class="groupedDiv" id="group1">
<div class="level1">
Roses
<div class="level2"> || L2-rose </div>
<div class="level3"> l3 rose </div>
</div>
</div>
如果我想计算“level1”类的可见div的数量
$(".level1 :visible").length;
给我输出3,这不应该输出2吗?
$(".level1 :visible").parent().length;
给我输出2是正确的
我在http://jsfiddle.net/metalhawk/P87jS/
创建了这个示例任何建议都有帮助。感谢
答案 0 :(得分:41)
$(".level1 :visible")
是后代选择器:您选择的所有可见元素都是.level1
的后代。在div
元素下可以看到三个.level1
个元素。
请改用:
$(".level1:visible").length;
答案 1 :(得分:4)
非常确定您需要$(".level1:visible").length;
太空正在打破代码