nodeType的返回

时间:2022-02-21 17:32:00

<p id="one" title="one_one">one_one_one</p>

1.用getElementById

var o = document.getElementById("one");

alert(o.nodeType);//返回1

alert(o.getAttributeNode("title").nodeType);//返回2

alert(o.childNodes[0].nodeType);//返回3

2.用getElementsByTagName

var o = document.getElementsByTagName("p")[0];

alert(o.nodeType);//返回1

alert(o.getAttributeNode("title").nodeType);//返回2

alert(o.ChildNode[0].nodeType);//返回3

注:获取属性值 - getAttribute(),getAttribute("") 方法返回属性的值//。o.getAttribute("title")返回的是one_one。

获取属性值 - getAttributeNode(),getAttributeNode("") 方法返回属性节点。//o.getAttributeNode("title").nodeType返回的是2。

getAttributeNode('').value取得节点值。//o.getAttributeNode("title").value返回的是one_one。

两种方法区别是一个返回属性值,后者返回属性节点。

问题:为什么childNode[0]返回的是文本节点而不是title的属性节点?