javascript - 检查 DOM 中隐藏的父元素是否可见

标签 javascript jquery html css

CSS:

#test {
        visibility: hidden;
        width: 400px;
        height: 400px;
        background-color: orange;
    }
    #subTest {
        width: 100px;
        height: 100px;
        background-color: gray;
    }

HTML:

<div id="test">
    <div id="subTest"></div>
</div>

JavaScript:

$(function() {
    var test = document.getElementById('test'),
        subTest = document.getElementById('subTest');

    console.log("getClientRects,length = " + subTest.getClientRects().length);
    console.log("offsetParent = " + subTest.offsetParent);
    console.log("JQuery isVisible = " + $("#subTest").is(":visible"));
});

结果:

getClientRects,length = 1

offsetParent = [object HTMLBodyElement]

JQuery isVisible = true

看来所有方法都无效。

那么如何检查#subTest是否可见?

最佳答案

这个

$('#subTest').css('visibility') == 'hidden' // true

由于父级是隐藏,它将级联到子级。

关于javascript - 检查 DOM 中隐藏的父元素是否可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36216575/

相关文章:

JavaScript:对象的过滤器()

javascript - Bootstrap 词缀不动

Javascript/jQuery 在数组的其余部分查找并删除数组值

javascript - div 按钮上的手形图标。表现得像真正的按钮

javascript - 下划线从头开始内存

javascript - 当文本和文本区域为空时禁用/启用按钮

javascript - 为侧栏添加可点击按钮或链接

javascript - 如何在不污染全局命名空间的情况下共享常用的jquery函数?

html - 将元素与容器底部对齐

javascript - 这个表达式是什么意思 : "javascript:{}"