console
function bfs(node, callback) {
var queue = []
while (node != null) {
callback(node)
if (node.children&&node.children.length != 0) {
for (var i = 0; i < node.children.length; i++) {
queue.push(node.children[i])
}
}
node = queue.shift()
}
}
var all = document.querySelectorAll('*')
bfs(document.body,(node)=>{
console.log(node.className)
})
<div class="root">
<div class="container">
<section class="sidebar">
<ul class="menu"></ul>
</section>
<section class="main">
<article class="post"></article>
<p class="copyright"></p>
</section>
</div>
</div>