2010-01-06 82 views
3

有誰知道jQuery中是否有等價選擇器?當然:contains存在,但如果我們想要精確匹配呢?等效選擇器

我的解決方法是做

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

,但我希望做$('a:equals(' + myVar + ')').addClass('highlight'),而不是一個更容易的方法。當然,我可以創建選擇器,但我會假設標準庫中存在一些東西。

乾杯

回答

3

似乎有不被預建選擇了這一點,但如果我理解正確的話,你可以爲:contentEquals或任何輕鬆註冊自己。

Here是某人如何實現正則表達式過濾器選擇器的示例。

1

你需要自己的自定義選擇: 有關於他們在這裏討論 What useful custom jQuery selectors have you written?

您的自定義選擇可能看起來像:

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

是啊,我清楚地知道這就是我正如我以前指出的那樣需要。很高興看到一個例子,非常感謝! – Kezzer