美文网首页
dom_11 获取节点元素

dom_11 获取节点元素

作者: basicGeek | 来源:发表于2018-11-23 18:00 被阅读0次
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            div {
                width: 100px;
                height: 100px;
                background-color: pink;
                margin: 5px;
            }
        </style>
    </head>
    <body>
    
        <div></div>
        <div class="box"></div>
        <div id="box"></div>
        <div class="box"></div>
        <div></div>
    
    
    
    <script>
        //需求:一个方法,包含三种获取元素节点的功能。通过传递参数的不同,来决定使用哪种获取方法。
            //例如: "ibox":  getElementById();
            //例如: "cbox":  getElementsByClassName();
            //例如: "tbox":  getElementsByTagName();
                    //化简:使用类似css获取的方式表明使用哪种方式来获取:
                        //   "#box"  getElementById();
                        //   ".box"  getElementsByClassName();
                        //   "div"   getElementsByTagName();
        //验证:
        getEle("#box").style.backgroundColor = "red";
    
        var claArr = getEle(".box");
        for(var i=0;i<claArr.length;i++){
            claArr[i].style.backgroundColor = "yellow";
        }
    
        var divArr = getEle("div");
        for(var i=0;i<divArr.length;i++){
            divArr[i].style.border = "2px solid #000";
        }
    
        //思路:封装一个方法,然后判断第一个字符,如果是#用id,如果是.用className,否则用tagName
        //步骤:
        //1.封装一个方法,获取参数的第一个字符
        //2.判断第一个字符是#走第一个逻辑,是.走第二个逻辑,如果都不是那么走最后一个逻辑
        //3.隐藏:
    
        //1.封装一个方法,获取参数的第一个字符
        function getEle(str){
            //2.判断第一个字符是#走第一个逻辑,是.走第二个逻辑,如果都不是那么走最后一个逻辑
            var str1 = str.charAt(0);
            if(str1==="#"){
                //3.隐藏:
                //返回获取的元素。(因为传递过来的值带有#,所以我们要从第二项开始截取并搜索)
                return document.getElementById(str.slice(1));
            }else if(str1 === "."){
                return document.getElementsByClassName(str.slice(1));
            }else{
                return document.getElementsByTagName(str);
            }
        }
    
    </script>
    </body>
    </html>
    
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            div {
                width: 100px;
                height: 100px;
                background-color: pink;
                margin: 5px;
            }
        </style>
    </head>
    <body>
    
        <div></div>
        <div class="box"></div>
        <div id="box"></div>
        <div class="box"></div>
        <div></div>
    
    
    
    <script>
    
        $("#box").style.backgroundColor = "red";
    
        var claArr = $(".box");
        for(var i=0;i<claArr.length;i++){
            claArr[i].style.backgroundColor = "yellow";
        }
    
        var divArr = $("div");
        for(var i=0;i<divArr.length;i++){
            divArr[i].style.border = "2px solid #000";
        }
    
        function $(str){
            var str1 = str.charAt(0);
            if(str1==="#"){
                return document.getElementById(str.slice(1));
            }else if(str1 === "."){
                return document.getElementsByClassName(str.slice(1));
            }else{
                return document.getElementsByTagName(str);
            }
        }
    
    </script>
    </body>
    </html>
    
    element

    相关文章

      网友评论

          本文标题:dom_11 获取节点元素

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