如何使用“已选择”类计算包含div中的所有元素?
我的Jquery尝试:
$('.list').click(function(){
check_no = $(this).closest("div").find('.selected').length;
alert(check_no);
)};
也试过
check_no = $(this).closest("div").children('.selected').length;
但它总是说0。
HTML
<div id=1>
<ul>
<li class="list all">ALL</li>
<li class="list selected">1</li>
<li class="list">2</li>
</ul>
<ul>
<li class="list selected">3</li>
<li class="list selected">4</li>
</ul>
<ul>
<li class="list">5</li>
<li class="list">6</li>
</ul>
</div>
<div id=2>
<ul>
<li class="list all">ALL</li>
<li class="list selected">1</li>
<li class="list">2</li>
</ul>
<ul>
<li class="list selected">3</li>
<li class="list">4</li>
</ul>
<ul>
<li class="list">5</li>
<li class="list">6</li>
</ul>
</div>
因此,如果我点击div id 1中的班级列表,我想找到所选班级的李号。
答案 0 :(得分:2)
你的jquery
$('.list').on('click',function(){
var check_no=$(this).closest("div").find('.selected').length;
alert(check_no);
});
如果你只想找到 li选择了班级那么你的jquery就是
$('.list').on('click',function(){
var check_no=$(this).closest("div").find('li.selected').length;
alert(check_no);
});
答案 1 :(得分:1)
我认为你可能有一些相互矛盾的代码,或者我没有正确理解。这对我来说很好:
我看到你更新了你的问题。你在那里的代码工作......我想你可能没有把它放在domready函数中。请参阅http://jsfiddle.net/UkD69/4/并注意周围的$(function(){ [code] });
$(function(){
$("li").on("click", function(){
check_no = $(this).closest("div").find('.selected').length;
alert(check_no);
});
});
或者,您是否希望在没有活动的情况下运行? $(this)
指的是附加到事件处理程序并被函数捕获的元素(与我的示例一样)。
这会检查每个div
的{{1}}类的数量:
答案 2 :(得分:0)
更改
$('.list').click(function(){
check_no = $(this).closest("div").find('.selected').length;
alert(check_no);
)};
到
$('.list').click(function(){
check_no = $(this).closest("div").find('.selected').length;
alert(check_no);
});
答案 3 :(得分:0)
你的代码应该没问题。
$('.list').on('click',function(){
var check_no = $(this).closest("div").find('.selected').length;
alert(check_no);
});
试试jsfiddle