我有下面的代碼:JavaScript的正則表達式無效
$.each(css, function(i, v) {
css[i] = this.replace('{bind}', bindName, css[i]);
});
我要全部更換{}綁定的與bindName的價值。 爲了試試這個,我給了bindName值'Test'。
'css'是一個簡單的數據對象。
var css = {
tabs : 'tab-{bind}',
outerWrapper : 'outerWrapper-{bind}',
innerWrapper : 'innerWrapper-{bind}-{id}-{tab}',
subMenue : 'subMenue-{bind}-{id}',
subMenueItem : 'subMenue-Item'
};
在Firefox中我得到線錯誤 「無效的正則表達式標誌K」 68 68號線:
$.each(css, function(i, v) {
css[i] = this.replace('{bind}', bindName, css[i]); // LINE 68
});
如果有必要,這是我更換funcion:
this.replace = function (s, r, su) {
return su.split(s).join(r);
}
Google-Chrome中沒有錯誤,但在Firefox(最新版本)中 - 您能找到錯誤嗎?
它工作,如果你是包裝成$(this)? – 2012-03-20 16:43:13
不這麼認爲 - 我可以嘗試,但我認爲它一定是這個 - 這些功能是一個類的方法,所以我不認爲我必須做$ this() - 但我已經用另一種方式嘗試過了 - 而且全局函數只是一個變量,這也不起作用。 – TJR 2012-03-20 16:45:24