获取节点方法二

来源:互联网 发布:135 139 445端口 编辑:程序博客网 时间:2024/04/30 00:40

通过层次关系获取节点

节点之间都存在着层次关系:

1,父节点        是唯一的节点      parentNode

2.子节点          是可以有多个     childNodes

3,兄弟节点     上一个兄弟节点    是唯一的节点  previousSibling

                   下一个兄弟节点    是唯一的节点  nextSibling

节点类型:

1,标签型节点.   类型:1

2,文本型节点.   类型:3     #text

3,属性节点.     类型:2

4,注释节点.     类型:8     #comment


//获取表格节点

       var tabNode = document.getElementById("tabid");

//1,获取父节点

       var node = tabNode.parentNode;

       alert(node.nodeName+"...."+node.nodeType+"....."+node.nodeValue);*/

//2,获取子节点

        var nodes = tabNode.childNodes;//注意表格节点的子节点默认就是tbody.

        alert(nodes[0].nodeName);

        var trNodes = nodes[0].childNodes;

        alert(trNodes[0].nodeName);*/

//3,获取兄弟节点

        var node = tabNode.previousSibling;//上一个兄弟节点

        alert(node.nodeName+"......."+node.nodeType+"...."+node.nodeValue);

        //下一个兄弟节点

        node = tabNode.nextSibling;

       alert(node.nodeName);

//获取下一个不是空白文本的节点

        node = node.nextSibling;

        while(node.nodeType=3 &&node.nodeValue==' ')

         node  =node.nextSibling;

        alert(node.nodeName+"......."+node.nodeType+"...."+node.nodeValue);

//对于兄弟节点获取时,会出现空白文本节点,所以最好都要跟上对获取到的节点的判断.所以判断最好加上正则表达式,判断空白或者回车符等.比较麻烦,那么获取节点时,尽量避免使用兄弟节点.