traverse
by Artem
HTML
<div id="1">
<div id="2">
<div id="3"></div>
</div>
<div id="4"></div>
</div>
JavaScript
'use strict';
function traverse(domNode, callback) {
callback(domNode);
[].forEach.call(domNode.children, el => {
callback(el);
const child = el.firstElementChild;
if (child) {
traverse(child, callback);
}
});
}
const domNode = document.getElementById('1');
traverse(domNode, el => console.log(el.id));