对于元素节点,因为本身不直接包含文本,所以nodeValue是不可用的。当然你也可以在示例中自己写试试看有什么结果出现。
对于文本节点,nodeValue=文本值
对于属性节点,nodeValue=属性值
而innerHTML只能是文本值var element = document.getElementById("myspan");
var text = element.firstChild;
var property = document.getElementById("myspan").getAttributeNode("id");
alert("这是元素节点的返回值:"+ element.nodeValue);//本身就没有意义,这里是试验下的,返回的是null
alert("这是文本节点的返回值:"+ text.nodeValue);//返回的是文本值 文本节点
alert("这是属性节点的返回值:"+ property.nodeValue);//返回的是属性值,这里是id的属性值 myspan
文本节点