0

我有一个可在所有浏览器上运行的 jquery 插件,除了歌剧。removeHighlight 函数被触发,但 html 没有改变。据我所见,IE、FF、Chrome 和 Safari 按预期工作。

我的例子可以在这里找到:http: //www.pritaeas.net/public/jquery/plugin-dev/

该插件的网址是: http: //www.pritaeas.net/public/jquery/plugin-dev/jquery.highlight.js

基本上,我只想删除具有特定类的所有跨度标签,使文本保持原样。

谁能解释为什么歌剧的反应不同,并提供解决方案或解决方法?

谢谢。

4

1 回答 1

0

问题出在你的removeHighlight函数中,在正则表达式中。我不知道为什么,但是如果您的正则表达式采用以下形式,则它不起作用:

var source = new RegExp("<span class=.?" + options["cssClass"] + ".?>(.*?)</span>", "ig");

.?在这种情况下,尤其是首先是有问题的。当您将其更改为.or\"时,您的正则表达式效果很好。您可以使用\"表单,因为在正确格式化的 html 中,所有属性都应该用括号括起来,您也可以在highlight函数中添加它们:

var target = "<span class=\"" + options["cssClass"] + "\">%&</span>";
于 2009-12-10T13:32:36.207 回答