DOM中元素获取方式以及节点的应用

2017-07-14  本文已影响0人  该不会是个傻子吧

DOM中元素获取的方式

(DOM:document object model)

querySelector.png

节点

nodeType nodeName nodeValue
文本节点 3 "#text" 文本内容
元素节点 1 大写的标签名 null
注释节点 8 #comment 注释内容
document节点 9 #document null

节点关系

children与childNodes.png

封装

       function getChildren(parent,tagName) {
        var aChild=parent.childNodes;
        var ary=[];
        for(var i=0 ;i<aChild.length;i++){
            if(aChild[i].nodeType==1){
                tagName?aChild[i].tagName.toLowerCase()==tagName.toLowerCase()&&ary.push(aChild[i]):ary.push(aChild[i]);
            }
        }
        return ary;
    }

获取上一个哥哥元素

    function pre(ele) {
        if(ele.previousElementSibling){
            return ele.previousElementSibling;
        }
        var prev=ele.previousSibling;
        while(prev && prev.nodeType==1){
            prev=prev.previousSibling;
        }
    }

获取所有的弟弟元素

    function prev(curEle){
        if(curEle.previousElementSibling){
            return curEle.previousElementSibling;
        }
        var pre=curEle.previousSibling;
        while(pre && pre.nodeType !== 1){
            pre=pre.previousSibling;
        }
        return pre;
    }
    function nextAll(ele) {
        var ary=[];
        var nex=next(ele);
        while(nex){
            ary.push(nex);
            nex=next(ele);
        }
        return ary;
    }
上一篇 下一篇

猜你喜欢

热点阅读