var node = myDiv.childNodes[0].nodeValue;比如以上这样开业得到div里面的值111,var node = myDiv.innerHTML;这个也可以达到111
那请问这两个有什么不同?什么时候要用到 第一个 方法 什么时候要用到第二个方法?
<div id="myDiv">
111
</div>

解决方案 »

  1.   

    改成下面这样你就清楚了。。innerHTML获取的是节点下的包含html代码的内容,nodeValue获取的是节点的文本内容firefox下不要使用childNodes属性,因为空白节点也算一个节点
    <div id="myDiv"><div>
    111
    </div>
    </div>
    <script>
    myDiv=document.getElementById('myDiv')
    alert( myDiv.childNodes[0].nodeValue)
    alert(myDiv.innerHTML)
    </script>
      

  2.   

    nodeValue 不是所有浏览器都支持这个属性,就好比 innerHTML 和 innerText一样,前者所有浏览器都支持,而后者就不被所有浏览器支持