2010-07-05 53 views
1

當前我正在嘗試突出顯示頁面上的元素。因此,我將一個逗號分隔字符串傳遞給一個名爲highlight的Javascript-Funktion。

highlight("main:box1,main:box2"); 

這工作正常,直到我找到ID:在頁面上。所以我試圖用一點正則表達式來逃避它們。這裏開始變得有點滑稽。

如果我用字符串替換:\:jQuery-Function不再有效。

var string = value.replace(/:/g, "\\\\:"); 
jQuery("#" + string).css("color", "red"); 

如果我替換主:用「」和寫入主\:在jQuery的功能一切正常。

var string = value.replace(/main:/g, ""); 
jQuery("#main\\:" + string).css("color", "red"); 

我在做什麼錯?爲什麼jQuery-Function除了我的轉義字符串?

需要幫助:-(

例碼附:http://db.tt/0FLRlM

感謝揚

回答

1

你雙重逸出在替代你的第一次嘗試\你做了什麼是替代。 :\\:,即使您在輸出時可能會看到\:

+0

要明確指出,請使用'var string = value.replace(/:/ g,「\\:」);' – 2010-07-05 19:06:08

+0

你的男人! :-) 你讓我今天一整天都感覺很好。謝謝分配! – JPM 2010-07-06 07:51:16