前言:
最近学到前端一些知识,看到很多视频上许多老师都用的是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