Znajdź wszystkie węzły tekstowe na stronie HTML [duplikat]
Możliwy duplikat:
getElementsByTagName () odpowiednik dla textNodes
Dlato pytanie Musiałem znaleźć wszystkie węzły tekstowe w danym węźle. jamogą zrób to tak:
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;
})
);
}
}
Wydaje się to jednak nieeleganckie w świetle faktu, że za pomocą XPath można po prostu zapytać o.//text()
i skończ z tym.
Jaki jest najprostszy sposób, aby uzyskać wszystkie węzły tekstowe pod danym elementem w dokumencie HTML, który działa na IE9 +, Safari5 +, Chrome19 +, Firefox12 +, Opera11 +?
„Najprostszy” jest luźno zdefiniowany jako „wydajny i krótki, bez gry w golfa”.