我正在尝试在jquery中选择具有特定文本的范围。 Jquery“包含”不是很严格,所以如果我使用它并搜索“tab”,它也会选择“table”,这是我不想要的。
$(".spanbox:contains('Tab')").css('background-color', 'Green')
示例 - 跨度:
<span class="spanbox">Tab</span>
<span class="spanbox">Table</span>
有没有办法专门选择具有特定文本的类成员?
答案 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');