0

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

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

当我遇到像上面这样的元素时,我想对其进行一些处理。我遇到的问题是“if 子句”永远不会返回真值。警报将显示“无”(不带引号)。我希望“if 子句”评估为真。我尝试使用“==”并在显示后添加“.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 子句”中的比较总是评估为假?

4

2 回答 2

0

它对我来说非常适合您的代码,请尝试在 if 子句之后放置一个警报。
只是一个建议,使用显示而不是显示

<tr class="blah" style="display:none;">
于 2013-07-08T22:32:18.153 回答
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!');
    }
}
于 2013-07-08T22:34:59.627 回答