如何检查任何元素是否满足条件?

时间:2014-03-15 16:59:22

标签: javascript jquery

有没有办法检查我的选择器中的任何元素是否满足特定条件?

目前我使用:

var isSatisfied = false;
$("#myUL li").each(function() {
    if($(this).data("myconditon") === true) {
        isSatisfied = true;
    }
});
// Use isSatisfied here

做一个简单的工作似乎过于复杂。 我在寻找的东西就像C#中的Enumerable.Any

2 个答案:

答案 0 :(得分:1)

var isSatisfied = !!$("#myUL li").filter(function() {
    return $(this).data("myconditon") === true;
}).length;
顾名思义,

.filter()仅保留回调返回true的项目。所以我们最终得到了一个jQuery堆栈。通过查询其长度并将其强制转换为布尔值,最终得到所需的布尔变量isSatisfied

答案 1 :(得分:1)

您可以使用.is(),但仍需要进行条件检查

var isSatisfied = $("#myUL li").is(function () {
    return $(this).data("myconditon") === true;
});