Jquery && 选择器
Jquery && selector
我想检查我的 div(带有 id#row1)中的每个 div 是否都将 属性 "pointer-events" 设置为 "none"。并且只有当 他们所有人 让 属性 做某事时。
我的做法很糟糕,但它有效:
if( $('#row1 div:nth-child(1)').css("pointer-events") === "none"){
if( $('#row1 div:nth-child(2)').css("pointer-events") === "none"){Do something}}
有没有简单的方法来检查这个?像这样:
if(($('#row1 div:nth-child(1) && #row1 div:nth-child(2)')).css("pointer-events") === "none"){
Do something
}
jQuery 似乎没有 .all
或 .every
方法,但您可以为此使用 Array.prototype.every
(或 [].every
):
var allHavePointerEventsNone = [].every.call($("#row1 div"), function(el) {
return $(el).css("pointer-events") === "none";
});
测试:
// HTML
<div id="foo">
<div class="yes"></div>
<div class="yes"></div>
<div class="yes"></div>
</div>
<div id="bar">
<div class="yes"></div>
<div class="yes"></div>
<div class="no"></div>
</div>
// JS
console.log([].every.call($("#foo div"), function(el) {
return $(el).hasClass("yes");
}));
console.log([].every.call($("#bar div"), function(el) {
return $(el).hasClass("yes");
}));
输出:
true
false
我想检查我的 div(带有 id#row1)中的每个 div 是否都将 属性 "pointer-events" 设置为 "none"。并且只有当 他们所有人 让 属性 做某事时。
我的做法很糟糕,但它有效:
if( $('#row1 div:nth-child(1)').css("pointer-events") === "none"){
if( $('#row1 div:nth-child(2)').css("pointer-events") === "none"){Do something}}
有没有简单的方法来检查这个?像这样:
if(($('#row1 div:nth-child(1) && #row1 div:nth-child(2)')).css("pointer-events") === "none"){
Do something
}
jQuery 似乎没有 .all
或 .every
方法,但您可以为此使用 Array.prototype.every
(或 [].every
):
var allHavePointerEventsNone = [].every.call($("#row1 div"), function(el) {
return $(el).css("pointer-events") === "none";
});
测试:
// HTML
<div id="foo">
<div class="yes"></div>
<div class="yes"></div>
<div class="yes"></div>
</div>
<div id="bar">
<div class="yes"></div>
<div class="yes"></div>
<div class="no"></div>
</div>
// JS
console.log([].every.call($("#foo div"), function(el) {
return $(el).hasClass("yes");
}));
console.log([].every.call($("#bar div"), function(el) {
return $(el).hasClass("yes");
}));
输出:
true
false