我在试着数数每小时的李数。我正在使用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="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>我使用下面的代码查找#show中的所有列表,但只指定标签和类已完成的列表和未完成类的列表。
var n = $("#show-items li").size();
$(".numb").text("There are " + n + " divs. Click to add more.");这个节目是我做过的名单:
var n = $("#show-items li").find(".done").size();
$(".numb").text("Clear " + n + " completed task.");怎样才能找到没有类的列表呢?我试过:not(done),但它显示了我除了列表之外的一切。
因此,基本上从上面的HTML中,我想得到以下内容:
你有5张单子。2份清单已完成课程,3份没有。
非常感谢
发布于 2011-10-03 01:30:54
你们关系很好。您可以像这样使用*不()选择器:
// <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();这是一个例子。
发布于 2011-10-03 01:40:44
更容易和更快的
alert($("#show-items li label:not(.done)").size());
alert($("#show-items li label.done").size());您不必在选择器之后使用find()。
小提琴:http://jsfiddle.net/zsbT8/2/
发布于 2011-10-09 19:14:21
您还可能希望使用length属性而不是size()。正如jQuery文档所言:
.size()方法在功能上等价于.length属性;但是,.length >属性是首选的,因为它没有函数调用的开销。
http://api.jquery.com/size/
http://api.jquery.com/length/
https://stackoverflow.com/questions/7630345
复制相似问题