2013-07-08 96 views
0

我有一個網頁,有很多關於它的元素,如下面的:JavaScript的比較Element.style.display

<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. 
    } 
} 

爲什麼出現「如果條款」中的比較總是爲false?

+0

對我的作品?見http://jsfiddle.net/Sr2J2/1/ –

+0

你可以顯示你的完整HTML /任何相關的CSS或jsFiddle複製你的問題? – lifetimes

回答

0

它可以完美的爲我的代碼工作,試着在你的if子句後面放置一個alert。
只是recomendation,使用顯示,而不是顯示

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

謝謝你們。它正在工作。不知道我以前做過什麼。 – Dave

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!'); 
    } 
} 
+0

可能在代碼中存在另一個問題? –

+0

我想那是Alex。它正在工作。另外,從來沒有見過這個jsfiddle之前的事情。感謝您的鏈接! – Dave