所以我在这里写了这段代码:
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>
的结果字符串。这可能吗?