0

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

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

示例跨度:

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

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

4

2 回答 2

3

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

$(".spanbox").filter(function() {
   return $(this).text() == 'Tab';
}).css('background-color', 'Green');
于 2013-03-23T20:18:52.480 回答
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');
于 2013-03-23T20:24:42.487 回答