我正在尝试了解方法和正则表达式在 HTML 中的工作方式。所以基本上我想做的是......当我单击按钮时,我想使用 .replace(REGEXP) 方法将上面段落中的单词“change”更改为“keep”。
有人可以向我解释为什么它不起作用吗?我对此还很陌生......
let x = document.getElementById('change').innerHTML;
let button = document.getElementById('button');
button.addEventListener('click', function() {
x = document.getElementById('change').innerHTML.replace(/change/g, 'keep');
});
<p id="change">Here's an example sentence we want to change</p>
<button id="button">Change</button>
甚至不确定是否可能,但也许有人可以指出我正确的方向。 谢谢!
最佳答案
您将修改后的文本分配给x
变量,该变量恰好只是字符串
。这不是引用。
您必须使用 element.innerHTML = 'some inside content'
。
const targetElement = document.getElementById('change');
let button = document.getElementById('button');
button.addEventListener('click', function() {
targetElement.innerHTML = targetElement.innerHTML.replace(/change/g, 'keep');
});
<p id="change">Here's an example sentence we want to change</p>
<button id="button">Change</button>
关于javascript - 在事件监听器中使用 .replace() 更改某些文本,无法使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60761737/