jQuery突出显示除href值之外的单词

Dze*_*jms 4 javascript regex jquery

这个答案几乎完全符合我的需求.问题是它还将匹配标签的href属性中的URL值.所以,如果我有:

<a href="/a-link-to-a-porsche-page">This is a link to a porsche page</a>
Run Code Online (Sandbox Code Playgroud)

并使用此选择器:

$("a").highlight("porsche", "highlighted");
Run Code Online (Sandbox Code Playgroud)

保时捷在网址和链接文字中都匹配.可以做什么,以便省略href属性的值?

以前参考的后代答案:

jQuery.fn.highlight = function (str, className) {
    var regex = new RegExp(str, "gi");

    return this.each(function () {
        this.innerHTML = this.innerHTML.replace(regex, function(matched) {return "<span class=\"" + className + "\">" + matched + "</span>";});
    });
};
Run Code Online (Sandbox Code Playgroud)

不知道jsfiddle.这是一个基于justkt响应的更完整的例子:http://jsfiddle.net/Dzejms/L5Knh/1/

nat*_*lez 5

- - - 编辑 - - -

谷歌粗略搜索了这个整洁的jquery插件.这个想法与其他答案相同,但它使用递归和正则表达式来提高效率.看看这个.