近日需要完成考试题的题干及选项在该题有关键词的情况下,在勾选一个高亮关键词复选框的情况下能够红色高亮关键词显示。并且取消勾选能去掉红色高亮显示。要求的是可以支持多个关键词,这里多个关键词用逗号分隔。这里分享下实现高亮及取消高亮显示的代码。
/**
* 高亮关键词
* @param {any} content
* @param {any} keyword
*/
function keywordHighlight(content, keyword) {
if ($.trim(keyword) == "") {
return content;//关键字为空则返回
}
var words = keyword.split(',');
//替换关键字
for (var w = 0; w < words.length; w++) {
var r = new RegExp(words[w], "igm");
content = content.replace(r, "<span class='text-danger' >" + words[w] + "</span>");//关键字样式
}
return content;
}
/**
* 取消高亮
* @param {any} content
*/
function cancelKeywordHighlight(content) {
var regExp = new RegExp("<span class='text-danger' >(.+)</span>", "igm");
content = content.replace(regExp, "$1");
return content;
}