nodeType的返回

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

posted @ 2014-12-31 10:29  PLDaily  阅读(282)  评论(0编辑  收藏  举报