6

在 jQuery 上,我正在寻找一个类似的选择器,:contains但我需要对元素文本进行完美匹配。有没有?

<div>1</div>
<div>12</div>
<div>13</div>
<div>135</div>

所以如果我寻找text = 1我只会得到第一个div

4

3 回答 3

11

你可以做一个:

$.extend($.expr[":"], {
    exactly: function( element, index, details, collection ){
        return $(element).text() === details[3];
    }
});

$("div:exactly(Foo)").addClass("red");
$("div:exactly(230)").addClass("blu");

小提琴:http: //jsfiddle.net/jonathansampson/YUQLF/

于 2012-05-30T17:36:44.540 回答
4

可以这样做:

var str = "whatever";

$(".elements").filter(function() {
    return $(this).text() == str;
});
于 2012-05-30T17:34:26.657 回答
2
var search = '1';
$('div').filter(function() {
  return $(this).text()  == search;
}).css('background','#f00');

演示

于 2012-05-30T17:34:43.517 回答