JavaScript显示隐藏及Tab切换

获取元素

querySelector()方法

语法:document.querySelector(CSS selectors)

CSS选择器:类型String,指定一个或多个匹配元素的CSS元素,可以使用它们的id,类,类型,属性,属性值等来选取元素。对于多个选择器,使用逗号隔开,返回一个匹配的元素。

接受一个参数,通过元素的css选择器查找元素。如果找到相应的元素则返回该元素的HTMLDivElement对象;如果不存在,则返回null。仅仅匹配指定选择器的第一个元素

    document.querySelector("#div1");//获取id为div1的元素

    document.querySelector(".div1");//获取class为div1的第一个子元素
querySelectorAll()方法

语法:document.querySelectorAll(CSS selectors)

接受一个参数,将返回一个对象数组,这个数组保存着所有符合选择器的节点列表。

    document.querySelectorAll("li");//获取所有li元素,返回数组

    docuemnt.querySelectorAll(".list li");//获取所有class为list元素下的所有li元素,返回数组
querySelector和getElement区别

querySelector获取的元素是静态的,通过其他方法增加或删除其获取的元素,其获取的元素对象不会发生变化

getElement获取的元素是动态的,通过其他方法增加或删除其获取的元素,其获取的元素对象会动态变化

className属性

语法:object.className=className

className属性设置或返回元素的class属性。

    <style>
        .divshow{
            width:200px;
            height:200px;
            background:aquamarine;
        }
    </style>
    <input type="button" id="activebtn" value="显示/隐藏" />
    <div id="divactive" class="divshow"></div>
    <script>
        var btn=document.querySelector("#activebtn");
        var div=document.querySelector("#divactive");

        btn.onclick=function(){
            if(div.className=="divshow"){
                div.className="";
            }else{
                div.className="divshow";
            }
        }
    </script>
    
    
    

this变量

永远指向其所在函数的所有者,如果没有所有者时指向window(窗口)

Tab切换

tab切换(选项卡切换),实现效果点击按钮,分别切换按钮对应的div

    <style>
        .divtab0{
            position:relative;
            width:200px;
            height:200px;
        }
        .divtab{        
            position:absolute;
            top:0;
            width:200px;
            height:200px;
            background-color:lime;
            font-size:50px;
            text-align:center;
            line-height:200px;
            display:none;
        }
        .tabbtncolor{
            background-color:aqua;
        }
    </style>
    <input type="button" class="tabbtn tabbtncolor" style="background-color:lime;" value="按钮一" 
    /><input type="button" class="tabbtn tabbtncolor" value="按钮二" 
    /><input type="button" class="tabbtn tabbtncolor" value="按钮三" />
    <div class="divtab0">
        <div class="divtab" style="display:block;">1</div>
        <div class="divtab">2</div>
        <div class="divtab">3</div>
    </div>
    <script>
        var inputs=document.querySelectorAll(".tabbtn");
        var divs=document.querySelectorAll(".divtab");
        for(var i=0;i<inputs.length;i++){
            inputs[i].index=i;
            inputs[i].onclick=function(){
                for(var j=0;j<inputs.length;j++){
                    inputs[j].style.backgroundColor="";
                    divs[j].style.display="none";
                }
                this.style.backgroundColor="lime";
                divs[this.index].style.display="block";
            }
        }
    </script>
    
    
    
1
2
3