<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的属性节点?