Javascript 检查DIV元素的显示样式

Javascript 检查DIV元素的显示样式,javascript,css,dom-node,Javascript,Css,Dom Node,我有一个div容器id=“cMsgArea”,用于承载通过AJAX动态添加的多个div。我需要控制在任何给定时间可见的子div的数量 var theDIV=document.getElementById('cMsgArea'); console.log('1')+theDIV.innerHTML); var divNode=theDIV.firstChild; log('divNode:'+divNode.innerHTML); log(“divNodeDisplay:+divNode.styl

我有一个div容器
id=“cMsgArea”
,用于承载通过AJAX动态添加的多个div。我需要控制在任何给定时间可见的子div的数量

var theDIV=document.getElementById('cMsgArea');
console.log('1')+theDIV.innerHTML);
var divNode=theDIV.firstChild;
log('divNode:'+divNode.innerHTML);
log(“divNodeDisplay:+divNode.style.display”);
log(“divNodeStyle:+divNode.style”);
while(divNode.style.display!=“块”){
divNode=divNode.nextSibling;
}
返回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
1)[2014.07.05 13:21:09]梦幻大师:(1)(1)[2014.07.05 13:21:09]梦幻大师:(2)(1)[2014.07.05 13:21:14]梦幻大师:(1)(12)[2014.07.05 13:21:14]梦幻大师:(2)(12)si5.js:140
divNode:[2014.07.05 13:21:09]梦想大师:(1)(1)si5.js:142
divNodeDisplay:si5.js:143
divNodeStyle:[对象CSSStyleDeclaration]si5.js:144
未捕获的TypeError:无法读取null的属性“style”

问题
divNode
向我显示
innerHTML
的正确值,但
.style.display
指示样式为空。如何获取“style.display”值

更新
帕特里克·埃文斯是对的,我看问题的方向不对。这就是说,问题已经解决了,但我还想指出,我还必须对向容器中添加div的代码进行更改,以明确添加样式include
display:block
您可以从这里获得样式信息

$("#yourID").prop('style')

否该错误表示您正试图访问null对象上的属性
style
,这意味着
divNode
为null,意味着您在某个点到达了同级的末尾。在while中需要一个不同的条件:例如
while(divNode!==null)
并在while blockdivNode中执行样式检查。控制台显示innerHTML值(si5.js:142)。我在while循环中有一个警报,它正确地经过了4次迭代。错误消息指示“style”为空。是的,但您正在第一个
divNode
上执行innerHTML日志,然后再进入while lopp。并且在循环中的每个迭代都要覆盖
divNode
,使其成为
nextSibling
的内容。因此,当它到达最后一个同级时,
nextSibling
将为空,因为没有下一个同级,因此在下一次迭代中,
divNode
将为空,也就是在出现错误时对不起,我误读了您的答案。我明白你在说什么。我试试看。谢谢。问题没有提到jQuery。