MENU
Traversing & Comparing Nodes
RESETRUNFULL
<!DOCTYPE html><html><head></head><body><div>
<p><span>1a</span>1b<span>1c</span></p>
<p><span>2a</span>2b<span>2c</span></p>
<p><span>3a</span>3b<span>3c</span></p></div><pre style="background:yellow;"></pre><button>Try it</button><script>var m = document.body.children[0].childNodes[1].firstChild.nextSibling.previousSibling.parentNode.parentNode.parentElement;
document.querySelector("pre").innerHTML = ".isEqualNode(): " +m.isEqualNode(document.body)+"\n"+".isSameNode(): "+m.isSameNode(document.body)+"\n"+".isConnected: "+m.isConnected+"\n"+".clone().isEqualNode(): "+m.cloneNode(true).isEqualNode(document.body)+"\n"+".clone().isSameNode(): "+
m.cloneNode(true).isSameNode(document.body)+"\n"+".clone().isConnected: "+
m.cloneNode(true).isConnected+"\n"+"text content: "+m.children[0].textContent;console.log(m.nodeName); // BODYconsole.log(m.nodeType); // 1console.log(m.nodeValue); // nullconsole.log(m.querySelector("button").childNodes[0].
nodeValue); // Try it</script></body></html>
Call a function recursively to parse an HTML document.
RESETRUNFULL
RESETRUNFULL
<!DOCTYPE html><html><body>
<div>
hello <span>world </span>
<p> its a bright and sunny day </p>
</div>
<script>
var a=[];
function getChildText(e){
e.childNodes.forEach(c=>{
if (c.nodeType==c.TEXT_NODE){
let t = c.textContent.trim();
if (t) a.push(t);
} else if (c.tagName!="SCRIPT") getChildText(c);
});
}
getChildText(document.body);
console.log(a);
</script></body></html>