$.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的消息的方法。但是,有时在聊天中人们会说“敏捷”,这也被突出显示。我正在寻找一种仅突出显示“ Dexter”一词的方法
该消息可能包含其他内容。例如,这是一条消息:
德克斯特:实际上,德克斯特
它包含单词Actual(实际),使用文本功能不会匹配。
最佳答案
如果您要严格匹配文字
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");
关于javascript - jQuery包含更长的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42703111/