2009-12-10 49 views
0

我有一個jquery插件,除了歌劇,所有的瀏覽器工作。 removeHighlight函數被觸發,但html沒有改變。據我所見IE,FF,Chrome和Safari按預期工作。歌劇10,jQuery與正則表達式替換

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

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

基本上,我只是想刪除所有span標籤與特定的類,留下文字原樣。

任何人都可以解釋爲什麼歌劇的反應不同,並提供解決方案或解決方法?

謝謝。

+0

演示網址現在是http://www.pritaeas.net/public /jquery/hp/highlight/live-demo.html – hallvors 2009-12-14 19:50:17

回答

0

問題出在你的removeHighlight函數中,用正則表達式。我不知道爲什麼,但如果它在形式上是你的正則表達式不起作用:

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

尤其是第一.?在這種情況下出現問題。當您將其更改爲.\"時,那麼您的正則表達式工作得很好。您可以使用\"形式,在正確的HTML格式的所有屬性應該被括號括起來,並且可以在highlight功能也加入其中:

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

我試過了,但在IE瀏覽器中,jQuery並沒有添加引號。所以我決定前後沒有/一個角色。出於什麼原因。?有問題嗎? – pritaeas 2009-12-10 13:39:39

+0

我認爲\「訣竅,仍然有人可以告訴我爲什麼這個在這裏是無效的嗎 – pritaeas 2009-12-10 13:51:19

+0

我認爲這是一個錯誤,我將它提交給Opera,我們將看到他們會說' – MBO 2009-12-10 14:14:43