【发布时间】:2014-03-06 06:39:26
【问题描述】:
为了学习,我正在使用 JavaScript 做一些初学者练习,但我遇到了一个问题。
我想要完成的是用某个 ID 替换文本。我有 3 个链接,所有链接都带有文本“报价”,它们都有自己的 ID(q1、q2、q3)。然而,我调用的函数正在替换“Quote”的第一个实例,所以问题显然是我的函数。
我怎样才能让它只替换那个ID“报价”。
这是我的功能:
function quotation(c){
if ( c == q1){
var x = document.getElementByID("q1");
document.body.innerHTML = document.body.innerHTML.replace(x.innerHTML, 'Hello World');
}
【问题讨论】:
-
没错
.replace只替换了一个实例。您需要使用正则表达式。例如,在您的情况下new RegExp(x.innerHTML,"g")g 代表全局。或者,使用 for 循环。 -
@BenjaminGruenbaum 我还没有了解 RegExp
-
@BenjaminGruenbaum 我也忘了提到我为 q2 和 q3 做了这个。和 q3 改变 q1。我想要它,所以 q3 只更改 q3。很抱歉漏掉了那部分
-
您的 id 以哪种格式存在?
标签: javascript html text replace