首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery/Sizzle只选择文本节点(或者,如何将XPath表达式转换为Sizzle)

jQuery/Sizzle只选择文本节点(或者,如何将XPath表达式转换为Sizzle)
EN

Stack Overflow用户
提问于 2012-05-06 07:14:23
回答 2查看 870关注 0票数 0

我使用下面的XPath表达式来获取一个元素中的所有textNodes

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-06 07:25:55

在jQuery中,可以使用filternodeType获取元素中的文本节点,方法是:

代码语言:javascript
复制
var textnodes = $('*').contents().filter(function(){
    return this.nodeType === 3;
});
票数 0
EN

Stack Overflow用户

发布于 2012-12-21 09:35:16

here尝试我的解决方案。它甚至允许您在没有额外函数的情况下过滤文本节点本身,以及使用.end()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10466741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档