我试图用这个函数替换一些文本(类名)。它适用于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'。 –