【发布时间】:2012-05-24 02:22:04
【问题描述】:
对于this question,我需要找到特定节点下的所有文本节点。我可以这样做:
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() 并完成它,这似乎并不优雅。
在 IE9+、Safari5+、Chrome19+、Firefox12+、Opera11+ 上获取 HTML 文档中特定元素下的所有文本节点的最简单方法是什么?
“最简单”被粗略地定义为“高效且短,无需打高尔夫球”。
【问题讨论】:
-
噢,混蛋。谢谢,杰克,我确实搜索过,但没有找到那个问题。
-
是的,我也不知道为什么它也没有出现在侧边栏中,但是我在谷歌搜索时找到了它:)
标签: javascript html