<html>
<head>
<script language="javascript">
function child(){
alert(document.getElementById("parentchild").childNodes[1].nodeName);
}
window.onload=child;
</script>
</head>
<body>
<span id="parent">
<div id="parentchild">
<span>beautiful</span>
<a>别话</a>
</div>
</span>
</body>
</html>childNodes[0]时输出正常为span,childNodes[1]时IE下输出#text。求解
<head>
<script language="javascript">
function child(){
alert(document.getElementById("parentchild").childNodes[1].nodeName);
}
window.onload=child;
</script>
</head>
<body>
<span id="parent">
<div id="parentchild">
<span>beautiful</span><a>别话</a>
</div>
</span>
</body>
</html>
<html>
<head>
<script language="javascript">
function child(){
alert(document.getElementById("parentchild").childNodes[1].nodeName);
}
window.onload=child;
</script>
</head>
<body>
<span id="parent">
<div id="parentchild">
<span>beautiful</span>
<a>别话</a>
</div>
</span>
</body>
</html>上面的两段html文档,第二段在<span>标签和<a>标签之间有一个回车,IE把这个回车解释为一个空白的文本节点,是#text;第一段<span>和<a>标签之间没任何内容。所以弹出的结果是合理的。而且页面中的效果也是合理的,有回车的"beautiful"和"别话"之间有间距。个人比较讨厌IE,因为它的解释有些时候很混乱,不像非IE的,任何回车或空白都是一个空白文本节点。像本例子,如果按IE的传统逻辑,这个回车应该不被解释为空白文本节点,总之,IE很悲剧