所以我在这里写了这段代码:
highlighter: function (item) {
var parts = this.query.split(" ");
var length = parts.length;
for (var i = 0; i < length; i++){
if(parts[i] != ""){
item = item.replace(new RegExp('(' + parts[i] + ')', 'ig'), function ($1, match) {
return '<strong>' + match + '</strong>'
})
}
}
return item;
}
它的作用是:
- 我有字符串
item和字符串this.query - 我
this.query在每个空间拆分,并将生成的子字符串放入parts[]
我的目标是使每次出现的子字符串都parts[]以item粗体显示。
因此,如果
item = "This is some text"
和
this.query = "This some"
我想要<strong>This</strong> is <strong>some</strong> text。
这非常有效,除非我在<strong>元素本身中获得匹配项。所以我只想替换strong标签本身中没有的匹配项。因为我得到了带有ong>ortrong>的结果字符串。这可能吗?