等价选择器

时间:2010-01-06 11:37:51

标签: jquery

有没有人知道jQuery中是否存在等价选择器?当然:contains存在,但是如果我们想要完全匹配呢?

我的解决方法是

$('a').filter(function() {
   return $(this).text() == myVar;
}).addClass('highlight');

但我希望有一种更简单的方法来代替$('a:equals(' + myVar + ')').addClass('highlight')。当然我可以创建选择器,但我已经假定标准库中存在某些东西。

干杯

2 个答案:

答案 0 :(得分:3)

似乎没有预先构建的选择器,但如果我理解正确,您可以轻松注册自己的:contentEquals或其他。

Here是某人如何实现正则表达式过滤器选择器的示例。

答案 1 :(得分:1)

您需要自己的自定义选择器: 这里有关于它们的讨论 What useful custom jQuery selectors have you written?

您的自定义选择器可能如下所示:

$(document).ready(function() { 
    $.extend($.expr[':'], { 
        myEquivalence: function(el) { 
            return ($(el).val() == myVar);
        } 
    }); 
});