1.区别
getElementsByTagName获取的是动态集合,querySelector获取的是静态集合。
简单的说就是,动态就是选出的元素会随文档改变,静态的不会,取出来之后就和文档的改变无关了。
2.应用场景
如果只要一次查找就可得到元素时,首选querySelector ;
如果需要经过多级查找,才能得到元素时,用getElementsByTagName;
<ul><li>aaa</li><li>ddd</li><li>ccc</li></ul><script type="text/javascript">var ul = document.getElementsByTagName('ul')[0];lis = ul.getElementsByTagName("li");ul.appendChild(document.createElement("li"));console.log( lis.length); //4</script><script type="text/javascript">var ul = document.getElementsByTagName('ul')[0];var lis = document.querySelectorAll('li');ul.appendChild(document.createElement("li"));console.log( lis.length); //3</script>
