console.log(output(document.documentElement))
function output(el) {
let result_list = []
do_output(el, 0, result_list)
return result_list.join('\n');
}
function do_output(el, level, result_list) {
if (el) {
result_list.push(format(el.tagName, level));
if (el.children) {
for (let i = 0; i < el.children.length; i++) {
do_output(el.children[i], level + 1, result_list);
}
}
}
}
function format(str, level) {
let result = '';
for (let i = 0; i < level; i++) {
result += ' ';
}
return result + str;
}
// 输出DOM结构
var str = '';
var el = document.documentElement;
var empty;
var level = 0;
function output(el, level) {
if (el) {
if (level > 0) {
empty = new Array(level).fill(' ');
str += empty.join('');
}
str += el.tagName;
str += '\n'; // 换行
}
if (el.children) {
for(let i = 0; i < el.children.length; i++) {
output(el.children[i], level+1);
}
}
}
output(el, level);
console.log(str)