可能な重複をすべてのテキストノードを検索します。私は、特定のノードの下のすべてのテキストノードを見つけるために必要なthis questionについて
getElementsByTagName() equivalent for textNodesHTMLページに
。しかし、これは、XPathと1が単に.//text()
を照会可能性があり、それを行うことがあるという事実に照らして洗練思わ
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;
})
);
}
}
:私はので、同じようにこれを行うことができます。
IE9 +、Safari5 +、Chrome19 +、Firefox12 +、Opera11 +で動作するHTMLドキュメントの特定の要素の下にあるすべてのテキストノードを取得する最も簡単な方法は何ですか?
「最も単純」は、「ゴルフなしで、効率的かつ短期間」とゆるやかに定義されています。 @のケネベックの答え、同じロジックのややタイトな実装に基づいて
http:// st ackoverflow.com/questions/2579666/getelementsbytagname-equivalent-for-textnodes –
Aw、bugger。ありがとう、ジャック、私は検索しましたが、その質問を見つけることができませんでした。 – Phrogz
ええ、サイドバーにも表示されなかった理由はわかりませんが、Google検索を行っている間に見つけました:) –