JS中querySelectorAll的作用

Posted cwjdd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中querySelectorAll的作用相关的知识,希望对你有一定的参考价值。

//外部页切换
    var clickme=document.getElementById(‘navbox‘).getElementsByTagName(‘button‘);
    var box=document.getElementById(‘itembox‘).querySelectorAll(‘.boxStyle‘);
    for(var i=0;i<clickme.length;i++)
        clickme[i].index=i;
        clickme[i].onclick=function()
            for(var i=0;i<clickme.length;i++)
                clickme[i].className=‘navbtn‘;
                box[i].style.display=‘none‘;
            
            this.className=‘navbtn active‘;
            box[this.index].style.display=‘block‘;
        
    
    //内部页切换
    var databox=document.getElementById(‘b1‘).getElementsByTagName(‘div‘);
    var message=document.getElementById(‘b2‘).getElementsByTagName(‘div‘);
    for(var i=0;i<databox.length;i++)
        databox[i].index=i;
        databox[i].onclick=function()
            for(var i=0;i<databox.length;i++)
                databox[i].className=‘littlebox‘;
                message[i].style.display=‘none‘;
            
            this.className=‘littlebox actives‘;
            message[this.index].style.display=‘block‘;
        
        

 

 在我们编写html页面时,如果遇到外部页面点击跳转并且内部页面也需要点击跳转时。单纯编写JS时所要抓取的dom对象就会容易出现问题,如我的外层页面之下的div中的div。都会被捕捉到,这样我们编写出的js点击切换页面的效果就会出现bug。

如何规避这种情况,我们可以使用

querySelectorAll

来解决这个问题。通过使用它来抓取当前拥有同样class样式的div,就会针对指向性的获取到该元素,从而规避这类bug

以上是关于JS中querySelectorAll的作用的主要内容,如果未能解决你的问题,请参考以下文章

Array.prototype.slice.call() & wrapper.querySelectorAll() 有啥作用?

js Tips

querySelectorAll 不起作用

使用 querySelectorAll()。方法返回的结果是不是有序?

前端开发中最常用的JS代码片段

js动态查询指定class名的所有元素,querySelectorAll()和querySelectorAll()的区别