Fork me on GitHub

HTML DOM

上图是HTML DOM树

由图可知节点有三种:元素节点,属性节点,文本节点。这三种节点可以用element.nodeType来表示,如果是元素节点则返回值为1,属性节点返回2,文本节点返回3。

1 <script>
2 function Fun(){
3 var Op=document.getElementById('p1');
4 alert(Op.nodeType);
5 }    
6 </script>
7 
8 <p id="Op">12345</p>
9 <input type="button" onclick="Fun()">

 

浏览器弹出窗口返回值为1,因为p为元素节点。

element.nodeValue可以设置或者返回元素值。

设置元素值

element.nodeValue=value

返回元素值

node.nodeValue

不过只有文本节点和属性节点才能使用该方法返回元素值,接上段代码,如果alert(Op.nodeValue);返回值为null,因为p是元素节点,没有nodeValue。

关于子节点个数:

 1 <script>
 2 function myfun(){
 3   var ul1=document.getElementById('ul');
 4   var ch1=ul1.childNodes;
 5   alert(ch1.length);
 6 }
 7 </script>
 8 
 9 <ul id="ul">
10   <li>qwe</li>
11   <li>qwe</li>
12   <li>qwe</li>
13   <li>qwe</li>  
14 </ul>

 

其中ch1为数组,ch1.length就是子节点个数,浏览器的返回值是9,理论上来讲应该是4个li元素子节点才对,其实是因为我们打代码的时候为了看起来美观,而格式像上面的代码一样,这样的话标签之间就会有空格,这样浏览器会认为其为文本节点,我标记节点的地方就是文本节点,如果把所有代码写在一行,没有空格,就是4个子节点。

<ul id="ul">节点

  <li>qwe</li>节点

  <li>qwe</li>节点

  <li>qwe</li>节点

  <li>qwe</li>节点

<ul/>

 

posted @ 2018-04-07 19:43  lliiooiill  阅读(274)  评论(0编辑  收藏  举报