0

以下のような多くの要素を含むページがあります。

<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 と評価されるのはなぜですか?

4

2 に答える 2

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 に答える
0

それはあなたのコードで完全に機能します。if句の直後にアラートを配置してみてください。 ディスプレイの代わりにディスプレイ
を使用することをお勧めします

<tr class="blah" style="display:none;">
于 2013-07-08T22:32:18.153 に答える