jquery找到带有特殊文本的span

时间:2013-03-23 20:11:55

标签: jquery jquery-selectors

我正在尝试在jquery中选择具有特定文本的范围。 Jquery“包含”不是很严格,所以如果我使用它并搜索“tab”,它也会选择“table”,这是我不想要的。

$(".spanbox:contains('Tab')").css('background-color', 'Green')

示例 - 跨度:

<span class="spanbox">Tab</span>
<span class="spanbox">Table</span>

有没有办法专门选择具有特定文本的类成员?

2 个答案:

答案 0 :(得分:3)

您可以使用带有函数参数的.filter()来执行此操作,如下所示:

$(".spanbox").filter(function() {
   return $(this).text() == 'Tab';
}).css('background-color', 'Green');

答案 1 :(得分:1)

尝试这种方式:

$.fn.textEquals = function (text) {
    var match = false;
    $(this).each(function () {
        if ($(this).text().match("^" + escapeRegex(text) + "$")) {
            match = true;
            return false;
        }
    });
    return match;
};

$(".spanbox").textEquals('Tab').css('background-color', 'Green');
$(".spanbox").textEquals('Table').css('background-color', 'Red');