【问题标题】:jQuery selector - Match content of elementsjQuery 选择器 - 匹配元素的内容
【发布时间】:2011-01-12 20:05:45
【问题描述】:

有什么办法 - 任何 jQuery 选择器(我在 http://api.jquery.com/category/selectors/ 上没有找到),可以用作精确匹配?

:contains() 几乎是我需要的,但不完全是。 ":contains" 在每个元素的正则表达式中搜索如下:

.*<query>.*

这意味着,如果我需要找到链接,它看起来就像这样:

<a href="#">Baxter</a>

然后使用这个:

$("a:contains('Baxter')")

它也匹配这个,我不想匹配:

<a href="#">I'm Peter Baxter, how are you?</a>

我知道,我可以在循环中获取所有元素并比较它们的内容,但我想确定,没有更简单的方法。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    不,但作为插件添加会很简单:

    $.expr[':'].contentIs = function(el, idx, meta) {
        return $(el).text() === meta[3];
    };
    

    然后您可以将其用作$('a:contentIs("Baxter")')

    【讨论】:

    • 这是一个非常好的小扩展。我想知道为什么这不是核心
    • @P.scheit 它相当昂贵,在计算上......不过,回头看,它可以用$.text([el])而不是$(el).text()来改进。
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2010-12-04
    • 2020-03-06
    相关资源
    最近更新 更多