gpt4 book ai didi

javascript - 如何检查具有特定类名的元素是否可见?

转载 作者:行者123 更新时间:2023-12-04 07:40:31 27 4
gpt4 key购买 nike

我想检查是否有任何具有类名 settingsBox 的元素是可见的。
我创建了这个函数,但它不起作用:

function noOptionsOpen(){
$(".settingsBox").each(function (){
if ($(this).is(":visible")) return false;
})
return true;
}
我想,如果该类名有任何可见的内容,则内部函数返回 fals,但是在跳出它之后,它仍然总是返回 true,对吧?我只是不知道我该如何解决?

最佳答案

问题是因为您无法从 noOptionsOpen() 返回匿名处理函数中的函数 each() .解决此问题的一种方法是定义一个变量并在返回之前在循环中更新它:

function noOptionsOpen() {
let optionsOpen = true;
$(".settingsBox").each(function() {
if ($(this).is(":visible"))
optionsOpen = false;
})
return optionsOpen;
}
更好的是使用 :visible在单个选择器中并检查 length属性(property)。这几乎使该功能变得多余,但取决于您的用例:
function noOptionsOpen() {
return $(".settingsBox:visible").length === 0;
}

// As above in ES6:
let noOptionsOpen = () => $(".settingsBox:visible").length === 0;

关于javascript - 如何检查具有特定类名的元素是否可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67506036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com