jQuery包含更长的单词

时间:2017-03-09 18:42:56

标签: javascript jquery

$.extend($.expr[':'], {
'containsi': function(elem, i, match, array)
{
return (elem.textContent || elem.innerText || '').toLowerCase()
.indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
window.setInterval(function() {
$("div[class^='chat-box-content'] div[class^='message'] span:containsi(Dexter)").css("background","greenyellow");
},1000);

这是我当前突出显示包含Dexter一词的消息的方法。然而,有时在聊天中人们会说Dexterity,它也会突出显示。我正在寻找一种只能突出“Dexter”这个词的外观的方法

该消息可能包含其他内容。例如,这是一条消息: 德克斯特:实际上,德克斯特

它包含实际一词,使用文本功能无法匹配。

1 个答案:

答案 0 :(得分:1)

如果您想要严格匹配文字

span:containsi(Dexter)

应该是

span:text(Dexter)

<强>更新

在这种情况下,您应该使用过滤器..

var matchedElem= $("div[class^='chat-box-content'] div[class^='message'] span:containsi(Dexter)").filter(function() {
    return $(this).text() === 'Dexter';
}); 

matchedElem.css("background","greenyellow");