Javascript jQuery size()并查找是否应用了类
我在数ul的李数。我正在使用jQuery size()方法 以下是我的HTML示例:Javascript jQuery size()并查找是否应用了类,javascript,jquery,size,Javascript,Jquery,Size,我在数ul的李数。我正在使用jQuery size()方法 以下是我的HTML示例: <ul id="show-items" class="ui-sortable"> <li id="todo-2"> <label class="editable done">fasdfasdf</label> </li> <li id="todo-3"> <label class
<ul id="show-items" class="ui-sortable">
<li id="todo-2">
<label class="editable done">fasdfasdf</label>
</li>
<li id="todo-3">
<label class="editable">fasdfasdf</label>
</li>
<li id="todo-4">
<label class="editable">fasdfasdf</label>
</li>
<li id="todo-5">
<label class="editable done">fasdfasdf</label>
</li>
<li id="todo-6">
<label class="editable">fasdfasdf</label>
</li>
</ul>
下面是完成课程的列表:
var n = $("#show-items li").find(".done").size();
$(".numb").text("Clear " + n + " completed task.");
我怎样才能找到没有完成课程的列表?我尝试了:未(完成)
,但它显示了除列表之外的所有内容
基本上,从上面的HTML我想得到:
你有5张名单。2个列表完成了课程,3个没有
非常感谢你很接近。您可以这样使用选择器:
// <li> without .done class on <label>
$("#show-items li").find("label:not(.done)").size();
// <li> with .done class on <label>
$("#show-items li").find("label.done").size();
/在上没有.done类
$(“#show items li”).find(“标签:未(.done)”).size();
// 上完课
$(“#show items li”).find(“label.done”).size();
以下是。更简单、更快的方法:
alert($("#show-items li label:not(.done)").size());
alert($("#show-items li label.done").size());
您不必在选择器之后使用find()
Fiddle:您可能还希望使用length属性而不是size()。正如jQuery文档所说: .size()方法在功能上等同于.length属性;但是,.length>属性是首选的,因为它没有函数调用的开销
叫我傻瓜吧,但如果你知道你的总数和完成的数字,算出没有完成的数字(假设是一个或另一个)。@gregp是的,但将来我只想打一次电话,没有完成课程的列表。既然它应该是一行代码,我宁愿跳过数学。这就是我最初问这个问题的原因。我的评论并不意味着任何负面的东西,只是观察而已。就周期而言,您始终需要获得总数(初始jQuery对象)。从这里开始,无论你是搜索“完成”还是“未完成”的类,只要一行简单的数学就可以得到相反的结果。非常感谢。我正在尝试:$(“#show items li”).find(“:not(.done)”).size();而且不起作用。干杯
alert($("#show-items li label:not(.done)").size());
alert($("#show-items li label.done").size());