以ul,li為例,獲取ul下所有li標簽
<ul id="nav">
<li>一號</li>
<li>二號</li>
<li>三號</li>
<li>四號</li>
</ul>
<script>
let a=document.getElementById('nav').children //獲取ul下的所有子級
console.log(a)
</script>
如下圖所示,獲取到的是HTMLCollection格式的,這是偽數組而不是真數組,這種格式不能使用數組的方法(如push、concat等),故需要將其轉換成真數組

HTMLCollection --> Array 三種常用方法
es5方法(低版本瀏覽器使用,ie):var arr = Array.prototype.slice.call(htmlCollection); //說明,這里 .call() 或 .apply() 或 .bind() 都行
es6方法1:let arr = [...htmlCollection]
es6方法2:let arr = Array.from(htmlCollection)
當然,如果十分不幸的,你需要兼容IE8等舊瀏覽器或更早版本,我們需要使用一個更基本的兼容性函數,如
function toArr(arr){
for(var i = 0, a = []; i < arr.length; i++)
a.push(arr[i]);
return a;
}
轉換成數組之后,即可使用push.concat等方法
