$.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”一词的出现
消息可能包含其他内容。例如,这是一条消息: 德克斯特:实际上,德克斯特
它包含单词 Actually,使用 text 函数无法匹配它。
最佳答案
如果你想要一个严格匹配的文本
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/