【问题标题】:How to remove all iframe using javascript [duplicate]如何使用javascript删除所有iframe [重复]
【发布时间】:2021-01-21 15:10:45
【问题描述】:

我正在尝试如下:

var iframes = document.getElementsByTagName('iframe');
for (var i = 0; i < iframes.length; i++) {
    iframes[i].parentNode.removeChild(iframes[i]);
}

但它只删除一个 iframe,我应该添加哪个参数来删除所有 iframe。

测试:https://jsfiddle.net/yaub8qdr/

【问题讨论】:

  • 老实说,我并没有在我的代码中使用该函数,我的代码和赞成响应中的代码与链接源非常不同。
  • 另外加了一个链接,我觉得比较合适。
  • @Ivar 我同意,虽然问题已经结束,但标题更引人注目,即使是特定主题,肯定其他人会观察。
  • 您的问题可以发给as a signpost。 :)

标签: javascript


【解决方案1】:

从最后一个到第一个迭代数组索引。

var iframes = document.getElementsByTagName('iframe');
for (var i = iframes.length - 1; i>=0; i--) {
    iframes[i].parentNode.removeChild(iframes[i]);
}

【讨论】:

    【解决方案2】:

    getElementsByTagName 返回一个实时列表,因此您需要反向执行。

    更简单的是不使用实时列表

    https://jsfiddle.net/mplungjan/hzsqm2jg/

    [...document.querySelectorAll('iframe')].forEach(ifr => ifr.remove())
    

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 2011-01-04
      • 2021-07-20
      • 2011-01-16
      • 2013-02-12
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      相关资源
      最近更新 更多