为什么它不起作用,style.display

时间:2015-08-10 00:25:17

标签: javascript

我有一个简短的脚本。我想检查div的显示器的可见性。 但它不起作用。而且我不知道为什么,我发现了一些使用相同代码的其他脚本。

我没有收到消息JA

<html>
<head>
<script>
    function test()
    {
        alert('J');
        if (document.getElementById('t').style.visibility == "visible")
        {
            alert('JA');
        }
        if (document.getElementById('t').style.display == "block")
        {
            alert('JA');
        }
    }
</script>
</head>
<body>
<div id = 't'>
    test
</div>
<input type = 'button' onClick = 'test();'>

</body>
</html>

1 个答案:

答案 0 :(得分:3)

style property仅代表元素style属性中指定的CSS指令,因此visibilitydisplay都将为空。

你想要的是computed style

var t = document.getElementById('t'),
    style = window.getComputedStyle(t);

console.log('visibility', style.visibility);
console.log('display', style.display);

JSFiddle Demo