var target = $(".target-text"),
relation = ['spun gold', 'gold', 'apple'],
len = relation;
for (var i=0; i<len; i++) {
var e = relation[i],
re = new RegExp(e,"ig");
if (e.length > 0) {
target.html( target.html().replace(re, "<span class='hit'>$&</span>") );
}
};
搜索到的字符被标签包围。
这时候,就有问题了。
问题是结果在轮到搜索时发生变化。
喜欢 a['spun gold', 'gold', 'apple']
是可以的,
但喜欢 a['gold', 'spun gold', 'apple']
是 ng。
如果gold => <span class='hit'>gold</span>
先执行,
spun gold => <span class='hit'>spun gold</span>
会出错。
(自从第一次gold
更改为。)<span class='hit'>gold</span>
有没有更好的办法?
编辑:
作为条件,搜索不仅是英文。