替换变量时,JavaScript字符串replace()不起作用
JavaScript string replace() not working when replacing variable
我正在尝试创建一个JavaScript脚本来突出显示页面上的某些文本。现在,我在尝试用其他文本替换文本(来自正文html)时遇到了问题。我想用一些其他文本替换数组highlights
中每个项的所有实例。
我使用的代码是:
var responseText = server.responseText;
var highlights = responseText.split("'n");
var text = document.body.innerHTML;
for (i in highlights) {
if (highlights[i].length > 1) {
var exp = new RegExp(highlights[i], "g");
console.log(exp);
console.log(highlights[i]);
text = text.replace(exp, "XXXXXXXXXXX");
}
}
document.body.innerHTML = text;
目前,我正在获得highlights[i]
的正确值打印输出,我认为我是正则表达式exp
的正确值;如果highlights[i]
是"Remember",那么我为exp
得到的打印输出是"/ReRemember/g"(不带引号)——但它不会替换页面上的单词"Remembe"如果我用字符串"记住"替换new RegExp()
中的highlights[i]
,它就可以正常工作。有什么问题吗?
编辑:我解决了问题!在创建RegExp()
时,我传入了highlights[i].trim()
,而不仅仅是highlights[i]
,以消除开头/结尾的空白,现在它似乎正在工作。
多行server.responseText
有一些问题。我用空格而不是换行替换了输入,所有的替换都很好:
http://jsfiddle.net/XTdgJ/1/
相关文章:
- 替换变量时,JavaScript字符串replace()不起作用
- 使用replace方法替换innerHTML以及在Javascript中不起作用的正则表达式
- string.replace(“é”, “e”) 不起作用
- .replace 在 for 循环中不起作用吗?
- JavaScript Location.replace 不起作用
- YouTube ajax, .replace() 不起作用
- window.location.replace() 在窗体中不起作用
- JavaScript .replace() 部分的 url 不起作用
- 字符串正则表达式模式.replace(/{0}/, “$0.00”) 不起作用
- 使用window.location.replace重定向不起作用
- window.location.replace不起作用
- Javascript Regex replace在IE10中不起作用
- window.location.replace在客户端不起作用
- 如果重新加载了同一页,window.location.replace将不起作用
- Javascript replace()方法不起作用
- 试图更改onchange中的所有数字-onchange.replace没有'不起作用
- replace()函数在ie浏览器中不起作用
- .replace()不起作用.给出错误.replace不是一个函数
- Javascript String.Replace 不起作用
- JavaScript: string.replace()不起作用,问题是什么?