javascript - 在事件监听器中使用 .replace() 更改某些文本,无法使其工作

标签 javascript html methods replace addeventlistener

我正在尝试了解方法和正则表达式在 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/

相关文章:

javascript - 动态颜色映射

php - 如何在数据库php/mysql中存储图片链接

html - 如何将下拉菜单不放入导航部分(Twitter Bootstrap)?

java - 缺少返回错误

javascript - var = 变量 + 'String'

javascript - 在 JavaScript 中创建图像时获取图像的自然尺寸?

javascript - Protractor :如何单击模态对话框中的按钮( Angular 元素)

Javascript 代码片段在 Safari 11 和 12 中不起作用

jquery - 这段使用 jQuery 向元素添加类的代码有什么问题?

objective-c - 将 Objective-C 转换为 Swift - 错误 : Type 'Int' does not conform to protocol 'BooleanType'