美文网首页webAPI
封装兼容函数

封装兼容函数

作者: 椋椋夜色 | 来源:发表于2019-05-10 23:12 被阅读0次

    <!DOCTYPE html>
    <html lang="zh-CN">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title> 封装兼容函数 </title>

    </head>

    <body>
        <!-- 封装思想:一段代码可能多个地方要使用,就把这段代码封装成函数
        封装基本步骤:
        1.把相同代码直接当做函数体拷贝到函数里
        2.不能写死的数据当形参传进来 -->
        <ul>
            <!-- <span>专业写bug</span> -->
            <li id="li1">隔壁老王1</li>
            <li>隔壁老王2</li>
            <li id="li3">隔壁老王3</li>
            <li>隔壁老王4</li>
            <li id="li5">隔壁老王5</li>
            <li>隔壁老王6</li>
        </ul>
    
        <!-- 调用兼容js -->
        <script src="jianRong.js"></script>
    
        <script>
            // 找到元素
            var li3 = document.getElementById('li3');
            // 获取上一个兄弟元素
            var li3 = shangJian(li3);
            console.log('获取上一个兄弟元素 : ' + li3.innerHTML);
            // console.log(li3);
    
            // 获取上一个兄弟元素 : <li>隔壁老王2</li>
            
    
            // 获取下一个兄弟元素
            var li5 = document.getElementById('li5');
            var li5 = xiaJian(li5);
            //  console.log("获取下一个兄弟元素 : " + li5);
            console.log(li5);
            
    
    
            // function shangJian(add) {
            //     var jian = add.previousSibling;
            //     // 如果node不等于null 而且还不等于标签,那么就继续往上找
            //     // 因为如果等于null代表找到头了,没必要再往上找
            //     while (jian != null && jian.nodeType != 1) {
    
            //         //不是标签要继续找上一个的上一个
            //         jian = jian.previousSibling;
            //     }
            //     return jian;
            // }
    
            // function xiaJian(add) {
            //     //先取下一个兄弟节点
            //     var jian = add.nextSibling;
    
            //     while (jian != null && jian.nodeType != 1) {
            //         //继续往下找
            //         jian = jian.nextSibling;
            //     }
            //     return jian;
            // }
        </script>
    </body>
    
    </html>
    
    下面是js封装的内容:
    
    /**
     * 获取上一个兄弟元素兼容方法
     */
    
    function shangJian(add) {
        var jian = add.previousSibling;
        // 如果node不等于null 而且还不等于标签,那么就继续往上找
        // 因为如果等于null代表找到头了,没必要再往上找
        while (jian != null && jian.nodeType != 1) {
    
            //不是标签要继续找上一个的上一个
            jian = jian.previousSibling;
        }
        return jian;
    }
    
    /**
     * 找到下一个兄弟元素兼容写法
     */
    
    function xiaJian(add1) {
        //先取下一个兄弟节点
        var jian1 = add1.nextSibling;
    
        while (jian1 != null && jian1.nodeType != 1) {
            //继续往下找
            jian1 = jian1.nextSibling;
        }
        return jian1;
    }

    相关文章

      网友评论

        本文标题:封装兼容函数

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