美文网首页
兼容IE的Prve、Next、first、last

兼容IE的Prve、Next、first、last

作者: ggg_tip | 来源:发表于2017-09-16 00:52 被阅读0次

    查找上一个兄弟节点

    /*
    @element 需要的查找兄弟元素DOM对象
    */
    function prev(element){
        /*兼容性问题。因为firstElementChild  ie 8以前版本的不认识,所以会是false。
         但是firstchild ie8以前的版本认识,但是在谷歌中会返回文本对象。
         */
        var prevEle = element.previousElementSibling ||element.previousSibling;
        if(!prevEle||prevEle.nodeType !=1){//nodeType是文档节点 1.是元素节点
            return null;
        }else{
            return prevEle;
        }
    }
    

    查找下一个兄弟节点

    /*
    @element 需要的查找兄弟元素DOM对象
    */
    function next(element){
        /*兼容性问题。因为firstElementChild  ie 8以前版本的不认识,所以会是false。
         但是firstchild ie8以前的版本认识,但是在谷歌中会返回文本对象。
         */
        var nextEle = element.nextElementSibling ||element.nextSibling;
        if(!nextEle||nextEle.nodeType !=1){
            return null;
        }else{
            return nextEle;//返回一个新对象。
        }
    }
    

    查找第一个兄弟节点

    /*
    @element 需要的查找兄弟元素DOM对象
    */
    function first(ele){
        /*兼容性问题。因为firstElementChild  ie 8以前版本的不认识,所以会是false。
            但是firstchild ie8以前的版本认识,但是在谷歌中会返回文本对象。
        */
        var firstEle = ele.firstElementChild ||ele.firstChild;
        if(!firstEle||firstEle.nodeType !=1){//nodeType是文档节点
            return null;
        }else{
            return firstEle;
        }
    }
    

    查找最后一个兄弟节点

    /*
    @element 需要的查找兄弟元素DOM对象
    */
     //封装查找最后一个子节点(兼容性强)
    function last(element){
        /*兼容性问题。因为firstElementChild  ie 8以前版本的不认识,所以会是false。
         但是firstchild ie8以前的版本认识,但是在谷歌中会返回文本对象。
         */
        var lastEle = element.lastElementChild ||element.lastChild;
        if(!lastEle||lastEle.nodeType !=1){//nodeType是文档节点  
            return null;
        }else{
            return lastEle;
        }
    }
    

    相关文章

      网友评论

          本文标题:兼容IE的Prve、Next、first、last

          本文链接:https://www.haomeiwen.com/subject/fvxcrxtx.html