首页 > 解决方案 > 在 getElementsByTagName 循环中操作标签

问题描述

我有一个document带有许多<code>标签的 HTML。我想删除<code>....</code>,但不是他们的内容。乍一看

for (element of document.getElementsByTagName("code")) {
    element.outerHTML = element.innerHTML;
}

看起来不错,但它只会替换所有其他 <code>元素。那是因为元素操作与getElementsByTagName.

如何解决这个问题?

标签: javascripthtml

解决方案


你有几个选择:

  • 用于querySelectorAll('code')获取静态节点列表而不是活动节点列表getElementsByTagName
  • 向后循环列表,直到您没有将下一个要触摸的元素移动到刚刚完成的位置。

推荐阅读