gpt4 book ai didi

JavaScript 链接多个 createElement 错误

转载 作者:行者123 更新时间:2023-12-03 00:32:31 25 4
gpt4 key购买 nike

通常,我会这样编写代码:

var a = document.createElement('div');
var b = document.createElement('div');
a.appendChild(b);

这有效。现在我尝试使其更加紧凑:

var a,b;
a = b = document.createElement('div');
a.appendChild(b);

但是,这样JS就会抛出错误:

Failed to execute 'appendChild' on 'Node': The new child element contains the parent.

这里发生了什么?

最佳答案

您假设:

  a = b = document.createElement('div');

等同于:

 a = document.createElement('div');
b = document.createElement('div');

事实并非如此。它与以下内容相当相同:

 b = document.createElement('div');
a = b;

因此,ab 实际上是同一件事。要复制而不是引用(如果您确实需要单行):

  a = (b = document.createElement('div')).cloneNode(false);

或者多个单行:

  const [a, b, c, d] = Array.from({ length: 4 }, () => document.createElement("div"));

关于JavaScript 链接多个 createElement 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53796049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com