首页 > 解决方案 > JS innerHTML 上对比

问题描述

我有以下 HTML:

<html>
    <body>
      <b /> <br>
      Lets say it again: <b /> <br>
    </body>

    <script>
       // this runs after document has already been loaded
       if (document.getElementsByTagName('b').length > 0) {
          Array.from(document.getElementsByTagName('b')).forEach((ele) => {
              ele.innerHTML = "hello world!";
          });
       }
    <script>
</html>

结果是只有第一个<b />修改了它的innerHTML。并没有在下面显示。Inspect 在第一个下面没有显示进一步的 HTML<b />

但是,如果我替换<b /><b></b>然后一切正常。

知道为什么或如何解决它吗?我正在使用一个标签来放置一个变量,我宁愿它很短,因为我有很多。

谢谢!

标签: javascriptgetelementsbytagname

解决方案


推荐阅读