zoukankan      html  css  js  c++  java
  • js模仿jquery里的几个方法next, pre, nextAll, preAll

    /*siblings函数, 选取node的所有兄弟节点*/

    function
    siblings(node){ if(node.nodeType === 1){ node.flag = true; //给当前节点打上一个标志 var children = node.parentNode.childNodes, length = children.length, tempArray = [], i = 0; for(; i < length; i++){ if(!children[i].flag && children[i].nodeType === 1 && children[i].nodeName !== 'SCRIPT'){ //过滤一下script节点 tempArray.push(children[i]); } } return tempArray.length ? tempArray : null; } else{ return null; } }
    /*选取紧邻node节点的下一个兄弟节点*/

    function
    next(node){ var next = node.nextSibling; if(next !== null && next.nodeType === 3){ //防止内联元素在ie下出现的空白节点和火狐下的空白节点 return next.nextSibling; } return next; }
    /*选取紧邻node节点的上一个兄弟节点*/
    function pre(node){
        var pre = node.previousSibling;
        if(pre !== null && pre.nodeType === 3){ //防止内联元素在ie下出现的空白节点和火狐下的空白节点
            return pre.previousSibling;
        }
        return pre;
    }
    /*选取node节点后的所有兄弟节点*/

    function
    nextAll(node){ var nextNode = next(node), nodeArray = []; while(nextNode != null){ nodeArray.push(nextNode); nextNode = next(nextNode); } return nodeArray; }


    /*选取node节点前的所有兄弟节点*/
    function preAll(node){ var preNode = pre(node), nodeArray = []; while(preNode != null){ nodeArray.push(preNode); preNode = pre(preNode); } return nodeArray; }
  • 相关阅读:
    Unable to load dbxmss.dll (ErrorCode 16). It may be missing from the system Path
    同一网内机器无法连通解决一例
    Day.24
    Day.24
    Day.23
    Day.22
    Day.23
    Day.21
    Day.22
    Day.01-Day.20
  • 原文地址:https://www.cnblogs.com/tinkbell/p/3205520.html
Copyright © 2011-2022 走看看