0

我使用 alert 来检查 div 是否有任何子控件:

alert(document.getElementById("MainContent_imgContainer").hasChildNodes());

即使 MainContent_imgContainer div没有任何子控件,这也总是返回true,

请告诉我确定 div 是否有子控件的更好方法是什么。谢谢

4

3 回答 3

2

可能你的容器有一个空间,它算作一个文本节点。确保你的 div 真的是空的。

或者使用另一种机制,例如 jQuery,只计算非文本节点

$("#MainContent_imgContainer").children().length; // 0 when empty
于 2013-05-23T08:57:57.733 回答
1

改用.children.length所有浏览器都支持的。MDN 文档

alert(document.getElementById("MainContent_imgContainer").children.length > 0);
于 2013-05-23T08:55:28.870 回答
0

检查.length选择器的 以查看它匹配了多少个元素,在这种情况下:

if($("#divid").children().length) {
  //child exists
}
于 2013-05-23T08:56:04.777 回答