有没有办法检查我的选择器中的任何元素是否满足特定条件?
目前我使用:
var isSatisfied = false;
$("#myUL li").each(function() {
if($(this).data("myconditon") === true) {
isSatisfied = true;
}
});
// Use isSatisfied here
做一个简单的工作似乎过于复杂。 我在寻找的东西就像C#中的Enumerable.Any。
答案 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;
});