Opera 10,jquery与正则表达式替换

时间:2009-12-10 12:50:13

标签: jquery regex opera

我有一个jquery插件,适用于除Opera之外的所有浏览器。 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

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

任何人都可以解释为什么歌剧的反应不同,并提供解决方案或解决方案?

感谢。

1 个答案:

答案 0 :(得分:0)

问题在于removeHighlight函数,在正则表达式中。我不知道为什么,但是你的正则表达式在形式上不起作用:

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

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

var target = "<span class=\"" + options["cssClass"] + "\">%&</span>";