nodeValue属性规定的是节点的值,
*元素节点的nodeValue是undefined或者是null的,说明的元素节点本身是没有值的。
*文本节点的nodeValue是文本的本身,因为文本节点本身是有值的。
*属性节点的nodeValue是其的属性值,很明显属性一般来说都是有值的。
innerHTML这个是以字符串的形式但会该节点的所有子节点以及其值的。
我们来举个例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.1.3.js" type="text/javascript"></script>
<body>
<p id="p">这是一段文本 <span>我是span元素内的文本哦</span></p>
<script type="text/javascript">
var p=document.getElementById("p");
document.write("p.innerHTML:"+p.innerHTML+"<br>");
document.write("p.nodeValue:"+p.nodeValue+"<br>");
document.write("p.getAttributeNode:"+p.getAttributeNode("id").nodeValue+"<br>");
document.write("p.childNodes[0].nodeValue:"+p.childNodes[0].nodeValue);
</script>
</body>
</html>
需要注意的是文本也算是一个节点,因为它是文本的节点。