JavaScript:如何在没有innerHTML的情况下替换元素内的代码

问题描述 投票:0回答:1

我想替换JavaScript元素中的内容,但不能使用innerHTMLjQuery

例如:

<div id="MyID">
<b>Hi,</b> how are you?<br />
I am fine.</div>

我想替换<div id="MyID"></div>之间的所有内容。

就像通过innerHTML一样,我很难使用:

document.getElementById('MyID').innerHTML = document.getElementById('MyID').innerHTML.replace(/you/, '<a href="">you</a>');

将是:

<div id="MyID">
<b>Hi,</b> how are <a href="">you</a>?<br />
I am fine.</div>

如何做?

我尝试过类似[[appendChild和removeChild之类的事情,但我仍然无法弄清楚。

javascript dom innerhtml appendchild removechild
1个回答
0
投票
对于appendChild,您应该附加一个dom实体

0
投票
使用remove()清除现有内容,然后插入AdjacentHTML()来输入新内容。这是您的代码示例作为示例。

<div id="MyID"> <span id="MyID2"> <b>Hi,</b> how are you?<br/> I am fine. </span> </div> <button onclick="myFunction()">Insert a paragraph</button> <script> function myFunction() { var a = document.getElementById("MyID2"); a.remove(); var b = document.getElementById("MyID"); b.insertAdjacentHTML('afterbegin', '<b>Hi,</b> how are <a href="">you</a>?<br/>I am fine.'); } </script>

© www.soinside.com 2019 - 2024. All rights reserved.