日期:2014-05-16  浏览次数:20369 次

请教使用childnode
本帖最后由 u014392010 于 2014-04-06 19:46:20 编辑
<p id="intro">Hello World!</p>

<script>
var txt=document.getElementById("intro").childNodes[0];
document.write(txt.nodeValue);
</script>



请问这段代码中 <p>元素必然只有一个子元素即文本 为什么要用数组childNodes[0]显示呢 什么情况下会有childNodes[1]的值呢
------解决方案--------------------
文本节点也算父节点的一个子元素,有其他非文本节点就有其他子元素了,用innerHMTL就不用定义子元素了,除非你有特殊需求
<p id="intro">Hello World!<b>第二个子元素</b></p>
 
<script>window.onload=function(){
var txt=document.getElementById("intro");//.childNodes[0];
alert(txt.childNodes.length)//2
alert(txt.childNodes[0].nodeValue)//文本节点没有innerHTML,要用nodeValue或者data属性
alert(txt.childNodes[1].innerHTML)
}
</script>