<p id="re">com</p>
<p id="wi">net</p>
<textarea name="sta">
www.example.com
www.test.cOm
www.mess.COM
www.example.com
www.xxxxx.org
www.xxxxxx.org
www.xxxxxx.com
</textarea>
如何将 #re 的 textarea 值替换为 #wi。 结果将是
www.example.net
www.test.net
www.mess.net
www.example.net
www.xxxxx.org
www.xxxxxx.org
www.xxxxxx.net
请注意,innerHTML 将会改变,我无法使用普通的字符串替换
textarea.replace(/com/gi, "net");
最佳答案
要实现此目的,您需要首先检索相关 div
元素的文本。然后,您可以在进行实际替换之前构建一个 RegExp
对象。试试这个:
var textarea = document.querySelector('textarea');
var match = document.getElementById('re').textContent.trim();
var replacement = document.getElementById('wi').textContent.trim();
textarea.value = textarea.value.replace(new RegExp(match, 'gi'), replacement);
<p id="re">com</p>
<p id="wi">net</p>
<textarea name="sta" rows="10">
www.example.com
www.test.cOm
www.mess.COM
www.example.com
www.xxxxx.org
www.xxxxxx.org
www.xxxxxx.com
</textarea>
关于javascript - 如何用2个不同ID的innerHTML替换textarea的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45572576/