JQuery: 如果 div 可见

我使用 JS 作为改变我创建的 SPA 内容的一种方式。当我按下一个按钮来更改内容时,HTML 的变化如下:

<div id="selectDiv" style="display: none;">

回到这里:

<div id="selectDiv" style>

现在,我的 SPA 的一部分有一个包含许多复选框的 div,每个复选框表示一个 div,因此当我按下提交按钮时,应该显示的下一个 div 将是复选框列表中被选中的第一个项目。

我想知道在 JQuery 中是否有一种方法可以“几乎检测”现在可见的 div。像这样:

if($('#selectDiv').isVisible()){
//JS code associated with this div.
}

有什么建议吗?

142976 次浏览

You can use .is(':visible')

Selects all elements that are visible.

For example:

if($('#selectDiv').is(':visible')){

Also, you can get the div which is visible by:

$('div:visible').callYourFunction();

Live example:

console.log($('#selectDiv').is(':visible'));
console.log($('#visibleDiv').is(':visible'));
#selectDiv {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="selectDiv"></div>
<div id="visibleDiv"></div>