2015-04-21 27 views
1

爲首先對不起我的英語更換(用JavaScript

我有JavaScript語句不起作用,有人可以告訴我如何更換(實體?

我用userscript用於執行它,但它改成(_domain.com)_domain.com

我試圖在谷歌搜索但谷歌不讀「(」或「)」我試圖改變((((,但它不能在任何地方找到它。

document.body.innerHTML= document.body.innerHTML.replace("(http://domain.com)","_domain.com"); 

回答

0

如果您想要替換所有實例,則必須使用帶有g修飾符的正則表達式;替換一個普通的字符串只會替換第一個實例。在正則表達式中,你必須轉義特殊字符。

document.body.innerHTML = document.body.innerHTML.replace(/\(http:\/\/domain\.com\)/g, "_domain.com"); 

順便說一句,請確保您之前處理DOM任何其他代碼做到這一點(例如添加事件監聽器,設置變量DOM元素)。由於您要替換整個正文的內部HTML,因此必須從頭開始重新構建DOM,並且對舊DOM元素的任何引用都將不再有效。

+0

是的.replace使用RegExp這是更強大的功能 – daremachine