我有一个 div 容器id="cMsgArea"
,用于托管通过 AJAX 动态添加的多个 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
表明样式为空。如何获得“style.display”值?
更新
帕特里克埃文斯是正确的,我正在寻找问题的错误结局。也就是说,它已解决,但我还想指出,我还必须更改将 div 添加到容器的代码,以显式添加样式 include display:block
。