0

textNodes要素内のすべてを取得するために、次のXPath式があります。

var textnodes = document.evaluate('descendant::text()', element, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);

これはChromeとFirefoxで問題なく動作しますが、IEです。

Sizzleはブラウザに対応しているので、知りたかったのですが、Sizzle / jQueryだけでtextNodesを選択する方法はありますか?ご存知のとおり、IEは重要であり、IE9用のXPathもありません(10番目はどうですか?)。

または、言い換えると、XPath式をSizzleに変換するにはどうすればよいですか?

4

2 に答える 2

0

ここから私の解決策を試してください。を使用するだけでなく、追加の関数なしでテキストノード自体をフィルタリングすることもできます.end()

于 2012-12-21T01:35:15.930 に答える
0

jQueryでは、filternodeTypeを使用して、以下を使用して要素内のテキストノードを取得できます。

var textnodes = $('*').contents().filter(function(){
    return this.nodeType === 3;
});
于 2012-05-05T23:25:54.743 に答える