浅谈querySelector和getElementById之间的区别

时间:2024-01-27 16:36:43

前言:

最近学到前端一些知识,看到很多视频上许多老师都用的是querySelector而部分老师用的是getElementById,我就很疑惑,这两有啥区别,都是选择器,于是百度了一下明白了,querySelector选出来的元素及元素数组是静态的,而getElementById这种方法选出的元素是动态的。

写了个例子

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

<script>
ar ul=document.querySelector('ul');
        var list=ul.querySelectorAll('li');
        for(var i=0;i<list.length;i++){
            ul.appendChild(document.createElement('li'));
        }//这个时候就创建了3个新的li,添加在ul列表上。
       
 console.log(list.length) 
//输出的结果仍然是3,不是此时li的数量6

</script>
var ul=document.getElementsByTagName('ul')[0];
        var list=ul.getElementsByTagName('li');
        for(var i=0;i<5;i++){
            ul.appendChild(document.createElement('li'));
        }   
        console.log(list.length)//此时输出的结果就是8