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

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

甚至不确定是否可能,但也许有人可以指出我正确的方向。谢谢你!



呼啦一阵风
浏览 94回答 2
2回答

陪伴而非守候

您将修改后的文本分配给x变量,该变量恰好是string. 这不是参考。你必须使用element.innerHTML = 'some inner content'.&nbsp;const targetElement = document.getElementById('change');&nbsp;let button = document.getElementById('button');&nbsp;button.addEventListener('click', function() {&nbsp; &nbsp; targetElement.innerHTML = targetElement.innerHTML.replace(/change/g, 'keep');&nbsp;});<p id="change">Here's an example sentence we want to change</p><button id="button">Change</button>

哆啦的时光机

用这个document.getElementById('change').innerHTML&nbsp;=&nbsp;x.replace(/change/g,&nbsp;'keep');代替x&nbsp;=&nbsp;document.getElementById('change').innerHTML.replace(/change/g,&nbsp;'keep');
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5