Mögliche Duplizieren:
getElementsByTagName() equivalent for textNodesSuche alle Textknoten in HTML-Seite
Für this question I benötigt, um alle Textknoten unter einem bestimmten Knoten zu finden. Ich kann tut dies etwa so:
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;
})
);
}
}
Dies scheint jedoch unelegant in Anbetracht der Tatsache, dass mit XPath man einfach für .//text()
nicht abfragen und mit ihr geschehen.
Was ist der einfachste Weg, um alle Textknoten unter einem bestimmten Element in einem HTML-Dokument, das auf IE9 +, Safari5 +, Chrome19 +, Firefox12 +, Opera11 + funktioniert?
"Einfachste" ist definiert als "effizient und kurz, ohne Golf".
http: // st ackoverflow.com/questions/2579666/getelementsbytagname-equivalent-for-textnodes –
Aw, bugger. Danke, Jack, ich habe gesucht, aber diese Frage nicht gefunden. – Phrogz
Ja, ich weiß nicht, warum es auch nicht in der Seitenleiste auftauchte, aber ich fand es bei einer Google-Suche :) –