Найти все текстовые узлы на странице HTML [дубликаты]
Possible Duplicate:
getElementsByTagName() equivalent for textNodes
Заэтот вопрос Мне нужно было найти все текстовые узлы под конкретным узлом. яcan сделать это так:
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;
})
);
}
}
Тем не менее, это кажется не элегантным в свете того факта, что с XPath можно просто запросить.//text()
и покончим с этим.
What's the simplest way to get all text nodes under a particular element in an HTML document, that works on IE9+, Safari5+, Chrome19+, Firefox12+, Opera11+?
"Simplest" is defined loosely as "efficient and short, without golfing".