我試圖用這個函數替換一些文本(類名)。它適用於Chrome,但不適用於IE瀏覽器,有什麼想法爲什麼?這是實際的網站website link。問題RegExp和IE
水平菜單,它說: 「住房」 應該變成灰色:
<li class="mainlevel_active-fade" id="menuitem_1-fade">
應該成爲
<li class="mainlevel-fade" id="menuitem_1-fade">
的JavaScript:
var divText = "";
var toReplace = '<li class="mainlevel_active-fade" id="menuitem_1-fade">';
var replacement = '<li class="mainlevel-fade" id="menuitem_1-fade">';
function findMyText(toReplace, replacement) {
if (divText.length == 0) {
divText = document.getElementById("header-left-b").innerHTML;
}
var re = new RegExp(toReplace, "ig");
var replaced = "";
if (replacement.length > 0) {
replaced = divText.replace(re, replacement);
}
else {
var Text = "<div>" + toReplace + "</div>";
replaced = divText.replace(re, Text);
}
document.getElementById("header-left-b").innerHTML = replaced;
}
findMyText(toReplace, replacement);
我最終找到一個簡單的方法在不同的模塊中顯示不同的類,所以放棄了這個嘗試。感謝幫助
你確定你想在這裏使用正則表達式?你正在做經典的純字符串替換。另外,你真的不應該在這裏使用'innerHTML'。 –