js原生递归获取,直接源码 :
const child = document.children;//body就用document.body.children var arr = [];//用来存放获取到的所有的标签 function fn(obj){ for(let i=0;i<obj.length;i++){ if(obj[i].children){//当当前元素还存在子元素的时候,递归 fn(obj[i].children); } arr.push(obj[i]); //遍历到的元素添加到arr这个数组中间 } } fn(child); console.log(arr);//打印出最后获取到的结果 const child = document.children;