通常搜索回来关键字高亮是 后端直接拼好字符串给我们的。当然也有例如 后端偶尔不想做,那就我们替换下好了 … JS 没有 replaceAll 的。
// 错误示范
var data = ‘ 圣诞节卡都是快乐的事快乐速度回家快乐 ’;
var key = ‘ 快乐 ’;
data.replace(key,” 替换 ”);》》》只替换了第一个快乐
data.replace(/key/g,’ 替换 ’)》》》完全不替换
so 以下两个方法
// 一 利用 JavaScript eval() 函数
var data = ‘ 圣诞节卡都是快乐的事快乐速度回家快乐 ’;
var key = ‘ 快乐 ’;
var reg = eval(‘/’+key+’/g’);
data.replace(reg,’ 替换 ’)
// 二 利用 JavaScript 的 RegExp 对象
var data = [{“title”: “ 少儿保障、理财全能少儿产品 ”},
{“title”: “ 少儿保障、理财全能幼儿产品 ”},
{“title”: “ 少儿保障、理财全能成年产品 ”},
{“title”: “ 少儿保障、理财全能老年产品 ”}
]
var search_key = ‘ 少儿 ’;
var reg = new RegExp(search_key,’g’);
var html = ”;
for(var i=0; i< data.length; i++){
html += ‘<li>’+data[i].title.replace(reg,(‘<span style=”color:red”>’+search_key+'</span>’))+'</li>’
}
console.log(html)
mark 一下 仅供参考 end