我已经使用 javascript 一个星期了。我目前正在努力通过节点使事情工作/改变。但是我一直注意到一些奇怪的东西,对于一个不熟练的javascripter来说,它是。
我的网站中有这样的结构:
<html>
<head>
<title>....</title>
<link/>
<script></script>
</head>
<body>
<div 1>
<div 2></div>
</div>
</body>
</html>
当我尝试使用下一个函数查找子节点时:
var headerBox = document.body.childNodes;
var txt = "";
for (var x = 0; x < headerBox.length; x ++) {
txt =txt+"Childnode["+x+"]: "+headerBox[x].localName+" ("+headerBox[x].className+")<br>";
}
var x = document.getElementById(box);
x.innerHTML = txt;
我得到一个列表,其中包含几个未定义的“NULL”以及 reali DIV
但是当我简单地将“document.body.childNodes”更改为“document.body.children”时,一切都完美无缺,“NULL”值甚至会发生变化。
我想知道 HTML 文件中的“NULL”值代表什么,因为“NULL”值所在的位置没有元素。在我的脑海里,它给了我一个不存在的、可见的东西的表示,但它是……
谁能向我解释发生了什么事?
Ps:我很抱歉可能会重新发布这个,但我找不到关于这个问题的合适的其他问题!
pss:找到一个转贴(javascript中children和childNodes有什么区别?)。但它没有回答为什么它仍然将看不见的子节点识别为未定义。