首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery size()和查找是否应用了类

jQuery size()和查找是否应用了类
EN

Stack Overflow用户
提问于 2011-10-03 01:22:03
回答 3查看 1.4K关注 0票数 2

我在试着数数每小时的李数。我正在使用jQuery size()方法。

下面是我的HTML示例:

代码语言:javascript
复制
<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中的所有列表,但只指定标签和类已完成的列表和未完成类的列表。

代码语言:javascript
复制
var n = $("#show-items li").size();
          $(".numb").text("There are " + n + " divs. Click to add more.");

这个节目是我做过的名单:

代码语言:javascript
复制
var n = $("#show-items li").find(".done").size();
          $(".numb").text("Clear " + n + " completed task.");

怎样才能找到没有类的列表呢?我试过:not(done),但它显示了我除了列表之外的一切。

因此,基本上从上面的HTML中,我想得到以下内容:

你有5张单子。2份清单已完成课程,3份没有。

非常感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-03 01:30:54

你们关系很好。您可以像这样使用*不()选择器:

代码语言:javascript
复制
// <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();

这是一个例子

票数 1
EN

Stack Overflow用户

发布于 2011-10-03 01:40:44

更容易和更快的

代码语言:javascript
复制
alert($("#show-items li label:not(.done)").size());
alert($("#show-items li label.done").size());

您不必在选择器之后使用find()

小提琴:http://jsfiddle.net/zsbT8/2/

票数 0
EN

Stack Overflow用户

发布于 2011-10-09 19:14:21

您还可能希望使用length属性而不是size()。正如jQuery文档所言:

.size()方法在功能上等价于.length属性;但是,.length >属性是首选的,因为它没有函数调用的开销。

http://api.jquery.com/size/

http://api.jquery.com/length/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7630345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档