Javascript 如何检查div是否包含innerHTML元素

Javascript 如何检查div是否包含innerHTML元素,javascript,html,Javascript,Html,我有一个div,它包含n个子节点。 我有一个for循环: for (iloop = 0; iloop < summaryDiv.childNodes.length; iloop++) { if (summaryDiv.childNodes[iloop].innerHTML.contains('display:block')) { flag = false; } } for(iloop=0;iloop

我有一个div,它包含n个子节点。 我有一个for循环:

for (iloop = 0; iloop < summaryDiv.childNodes.length; iloop++) {
    if (summaryDiv.childNodes[iloop].innerHTML.contains('display:block')) {
        flag = false;
    }
}
for(iloop=0;iloop
这里的一些子节点不包含innerHTML元素。我需要检查子节点是否包含innerHTML元素,然后我需要检查样式(display:block)。
如何执行此操作?

您可以检查元素是否具有属性“innerHTML”


您可以检查元素是否具有属性“innerHTML”


如果要检查某物的样式,则不需要
innerHTML
。相反,直接从默认情况下在DOM元素上定义的
样式
元素访问
显示

var children = summaryDiv.childNodes; // Avoid excessive scope chain walking (faster!)
for ( var i=0, l=children.length; i<l; i++ ) {
    if ( children[i].style && children[i].style.display == "block" ) {
        flag = false;
    }
}
var children=summaryDiv.childNodes;//避免过度的范围链行走(更快!)

对于(var i=0,l=childrence.length;i如果要检查某个内容的样式,则不需要
innerHTML
。相反,可以直接从默认情况下在DOM元素上定义的
style
元素访问
display

var children = summaryDiv.childNodes; // Avoid excessive scope chain walking (faster!)
for ( var i=0, l=children.length; i<l; i++ ) {
    if ( children[i].style && children[i].style.display == "block" ) {
        flag = false;
    }
}
var children=summaryDiv.childNodes;//避免过度的范围链遍历(更快!)

对于(var i=0,l=childrence.length;i直接使用display属性:

for (var i = 0; i < summaryDiv.childNodes.length; i++) {
    if (summaryDiv.childNodes[i].style && summaryDiv.childNodes[i].style.display == 'block') {
        flag = false;
    }
}
for(变量i=0;i
直接使用显示属性:

for (var i = 0; i < summaryDiv.childNodes.length; i++) {
    if (summaryDiv.childNodes[i].style && summaryDiv.childNodes[i].style.display == 'block') {
        flag = false;
    }
}
for(变量i=0;i
将所有出现的
innerHtml
更改为
innerHtml
-JavaScript区分大小写。将所有出现的
innerHtml
更改为
innerHtml
-JavaScript区分大小写。if(children[i]。style&&children[i]。style.display==“block”){此处出现错误。表示children[iloop]。风格是undefined@Nimesh:检查
children[i]
的值(
alert(children[i]);
)。如果
style
属性未定义,则它可能不是DOM元素。@Nimesh将
iloop
更改为
i
。我已进行编辑,请确保您有更新的版本。@Steve DOM文本节点元素未定义
style
属性,这就是
子项[i]的原因。
检查已到位(Nimesh可能使用的是旧版本的代码,我确实做了编辑)。这只查看直接的子项,而OP的innerHTML问题则查看了所有嵌套的chilren.if(children.if(children[I].style&&children[I].style.display==“block”){此处出现错误。表示children[iloop].风格是undefined@Nimesh:检查
children[i]
的值(
alert(children[i]);
)。如果
style
属性未定义,则它可能不是DOM元素。@Nimesh将
iloop
更改为
i
。我已进行编辑,请确保您有更新的版本。@Steve DOM文本节点元素未定义
style
属性,这就是
子项[i]的原因。
检查已到位(Nimesh可能使用了较旧版本的代码,我确实做了编辑)。这只查看直接子代,而OP的innerHTML问题则查看了所有嵌套的子代。此处获取错误summaryDiv.childNodes[I][iLop]。样式未定义我不确定为什么要执行[I][iLop]。是否确实有嵌套的循环?[I]应该就是您所需要的。如果未定义,.style的检查将阻止使用style属性。此处获取错误summaryDiv.childNodes[i][iloop]。style未定义。我不确定您为什么要执行[i][iloop]。是否确实有嵌套循环?[i]应该是您所需要的全部。如果未定义style属性,则检查.style将阻止使用该属性。