Encontre todos os nós de texto na página HTML [duplicado]
Duplicata Possível:
getElementsByTagName () equivalente para textNodes
Paraessa questão Eu precisava encontrar todos os nós de texto em um determinado nó. Euposso faça assim:
function textNodesUnder(root){
var textNodes = [];
addTextNodes(root);
[].forEach.call(root.querySelectorAll('*'),addTextNodes);
return textNodes;
function addTextNodes(el){
textNodes = textNodes.concat(
[].filter.call(el.childNodes,function(k){
return k.nodeType==Node.TEXT_NODE;
})
);
}
}
No entanto, isso parece deselegante em vista do fato de que com o XPath pode-se simplesmente consultar.//text()
e ser feito com isso.
Qual é a maneira mais simples de obter todos os nós de texto em um elemento específico em um documento HTML, que funciona no IE9 +, Safari5 +, Chrome19 +, Firefox12 +, Opera11 +?
"Mais simples" é definido livremente como "eficiente e curto, sem golfe".