JavaScript:为什么要在循环中进行两次迭代以删除 DOM 中的所有 iframe 元素

用户9303970

我在这里遇到了这个循环,用于使用iframevanilla JS删除DOM中的所有元素:

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

在循环的最后一行中,为什么作者针对iframes变量持有的集合的迭代两次

换句话说,为什么语法iframes[i].parentNode.removeChild(iframes[i]);不是像伪代码那样更简单的东西removeChild(iframes[i])

我想知道是否可以在不使用该术语的情况下以更短的方式完成iframes[i]两次,但一次这样就不会有所谓的“重复”。

对不起,如果我写的任何东西看起来很荒谬。

jfriend00

因为如果你只有子节点,你需要它两次。你需要:

parent.removeChild(child)

但是,如果你没有父母,那么你必须child.parentNode像这样从孩子那里得到父母

child.parentNode.removeChild(child);

iframes[i]在你的代码child


请注意,更详细的代码版本可能会更明显:

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

注意:在现代浏览器中,您可以执行以下操作:

 child.remove()

在您的代码中将是:

 iframes[i].remove()

添加它是为了防止.removeChild()经常需要的冗余引用


我想知道这是否可以在不使用 iframes[i] 两次的情况下以更短的方式完成,但一次这样就不会有所谓的“重复”。

在现代浏览器中,可以这样做:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery从所有iframe中删除元素

来自分类Dev

如何在iFrame中访问DOM元素

来自分类Dev

在 iframe 中扩展 DOM 元素的原型

来自分类Dev

如何使用Mojolicious从所有DOM元素中删除属性?

来自分类Dev

PowerBI Embedded-如何访问iframe中的DOM元素?

来自分类Dev

从Chrome扩展程序访问iframe中的DOM元素

来自分类Dev

如何使用 JavaScript 在 DOM 元素中迭代所有子项,包括那些没有标记的子项

来自分类Dev

删除Javascript中具有特定标签名称的所有DOM元素

来自分类Dev

将在 disconnectedCallback 中从 DOM 中删除的自定义元素的所有引用设为空

来自分类Dev

jquery 或 javascript 如何访问 iframe 中的 DOM?

来自分类Dev

使用回调函数时,JavaScript如何从不存在于DOM中的iframe中访问元素?

来自分类Dev

如何从document.body(DOM)中删除所有Kendo DropDownList元素

来自分类Dev

如何从document.body(DOM)中删除所有Kendo DropDownList元素

来自分类Dev

删除Java中除某些DOM元素以外的所有内容?

来自分类Dev

从dom中删除html元素

来自分类Dev

从DOM中删除HTMLCollection元素

来自分类Dev

在Javascript中获取DOM元素

来自分类Dev

是否有一个DOM函数删除两个元素之间的所有元素?

来自分类Dev

使用jQuery删除iframe中的元素

来自分类Dev

如何使用JQuery删除iframe中的元素?

来自分类Dev

如何使用 iframe 中的元素进行 if 语句?

来自分类Dev

为什么自闭合iframe代码会阻止显示其他DOM元素?

来自分类Dev

在iFrame中访问元素

来自分类Dev

Javascript从DOM中删除错误的元素

来自分类Dev

Javascript从DOM中删除错误的元素

来自分类Dev

将iframe中的html文件的元素添加到原始文件的DOM树中

来自分类Dev

通过PHP DOM文档删除根元素和所有子元素

来自分类Dev

如果我使用jQuery更改div的HTML,是否从内存中删除了所有DOM元素和侦听器?

来自分类Dev

根据对DOM的变量引用从DOM中删除元素?

Related 相关文章

  1. 1

    jQuery从所有iframe中删除元素

  2. 2

    如何在iFrame中访问DOM元素

  3. 3

    在 iframe 中扩展 DOM 元素的原型

  4. 4

    如何使用Mojolicious从所有DOM元素中删除属性?

  5. 5

    PowerBI Embedded-如何访问iframe中的DOM元素?

  6. 6

    从Chrome扩展程序访问iframe中的DOM元素

  7. 7

    如何使用 JavaScript 在 DOM 元素中迭代所有子项,包括那些没有标记的子项

  8. 8

    删除Javascript中具有特定标签名称的所有DOM元素

  9. 9

    将在 disconnectedCallback 中从 DOM 中删除的自定义元素的所有引用设为空

  10. 10

    jquery 或 javascript 如何访问 iframe 中的 DOM?

  11. 11

    使用回调函数时,JavaScript如何从不存在于DOM中的iframe中访问元素?

  12. 12

    如何从document.body(DOM)中删除所有Kendo DropDownList元素

  13. 13

    如何从document.body(DOM)中删除所有Kendo DropDownList元素

  14. 14

    删除Java中除某些DOM元素以外的所有内容?

  15. 15

    从dom中删除html元素

  16. 16

    从DOM中删除HTMLCollection元素

  17. 17

    在Javascript中获取DOM元素

  18. 18

    是否有一个DOM函数删除两个元素之间的所有元素?

  19. 19

    使用jQuery删除iframe中的元素

  20. 20

    如何使用JQuery删除iframe中的元素?

  21. 21

    如何使用 iframe 中的元素进行 if 语句?

  22. 22

    为什么自闭合iframe代码会阻止显示其他DOM元素?

  23. 23

    在iFrame中访问元素

  24. 24

    Javascript从DOM中删除错误的元素

  25. 25

    Javascript从DOM中删除错误的元素

  26. 26

    将iframe中的html文件的元素添加到原始文件的DOM树中

  27. 27

    通过PHP DOM文档删除根元素和所有子元素

  28. 28

    如果我使用jQuery更改div的HTML,是否从内存中删除了所有DOM元素和侦听器?

  29. 29

    根据对DOM的变量引用从DOM中删除元素?

热门标签

归档