JavaScript比较Element.style.display

时间:2013-07-08 22:25:12

标签: javascript

我有一个页面上有很多元素,如下所示:

<tr class="blah" style="Display:none;">

当我遇到像上面这样的元素时,我想对它进行一些处理。我遇到的问题是“if子句”永远不会返回真值。警报将显示“无”(不带引号)。我希望“if子句”评估为true。我尝试使用“==”并在显示后添加“.ToString()”。这不起作用。

var rows = document.getElementsByTagName("tr");
for(var i=0; i < rows.length; i++) { 
    alert(rows[i].style.display);
    if (rows[i].style.display === "none") { 
        //Do some stuff 
        //Code never gets here. 
    }
}

为什么“if子句”中的比较总是评估为false?

2 个答案:

答案 0 :(得分:0)

它完全适合我的代码,尝试在if子句之后放置一个警告。
只是推荐,使用显示而不是显示

<tr class="blah" style="display:none;">

答案 1 :(得分:0)

我在jsfiddle中尝试了你的代码,它运行正常,请查看http://jsfiddle.net/HygdL/

var rows = document.getElementsByTagName("tr");
for(var i=0; i < rows.length; i++) { 
    if (rows[i].style.display === "none") { 
        alert('okay, its works!');
    }
}