为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼啦一阵风 2023-09-25 17:01:18
我正在尝试了解方法和正则表达式在 HTML 中的工作方式。所以基本上我想做的是......当我单击按钮时,我想使用 .replace(REGEXP) 方法将上面段落中的“更改”一词更改为“保留”。有人可以向我解释为什么它不起作用吗?我对此还很陌生...... 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>甚至不确定是否可能,但也许有人可以指出我正确的方向。谢谢你!
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

您将修改后的文本分配给x变量,该变量恰好是string. 这不是参考。

你必须使用element.innerHTML = 'some inner 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>


查看完整回答
反对 回复 2023-09-25
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

用这个

document.getElementById('change').innerHTML = x.replace(/change/g, 'keep');

代替

x = document.getElementById('change').innerHTML.replace(/change/g, 'keep');


查看完整回答
反对 回复 2023-09-25
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信