id="cMsgArea"
AJAX を介して動的に追加される複数の div をホストするために使用されるdiv コンテナーがあります。いつでも表示される子 div の数を制御する必要があります。
var theDIV = document.getElementById('cMsgArea');
console.log('1)' + theDIV.innerHTML );
var divNode = theDIV.firstChild;
console.log('divNode:' + divNode.innerHTML);
console.log("divNodeDisplay:" + divNode.style.display);
console.log("divNodeStyle:" + divNode.style );
while (divNode.style.display !== "block") {
divNode = divNode.nextSibling;
}
return divNode;
コンソールの結果:
1)<div style="float:left; clear:left;">[<i>2014.07.05 13:21:09</i>]DreamGuru:(1)(1)</div><div style="float:left; clear:left;">[<i>2014.07.05 13:21:09</i>]DreamGuru:(2)(1)</div><div style="float:left; clear:left;">[<i>2014.07.05 13:21:14</i>]DreamGuru:(1)(12)</div><div style="float:left; clear:left;">[<i>2014.07.05 13:21:14</i>]DreamGuru:(2)(12)</div> si5.js:140
divNode:[<i>2014.07.05 13:21:09</i>]DreamGuru:(1)(1) si5.js:142
divNodeDisplay: si5.js:143
divNodeStyle:[object CSSStyleDeclaration] si5.js:144
Uncaught TypeError: Cannot read property 'style' of null
質問
divNode
は正しい値を示していますinnerHTML
が.style.display
、スタイルがnullであることを示しています。「style.display」値を取得するにはどうすればよいですか?
アップデート
Patrick Evans は正しかったのですが、私は問題の間違った終わりを見ていました。とはいえ、解決されましたが、スタイルに include を明示的に追加するために、コンテナーに div を追加していたコードを変更する必要があったことにも注意してくださいdisplay:block
。