Javascript更改所有数组元素的HTML代码

时间:2019-02-01 18:38:41

标签: javascript arrays

我正在尝试创建“ div”元素,并尝试使用Javascript更改其内部HTML,但它不会更改数组的特定元素,而是会更改所有元素的HTML代码。

let bs_length = 2;
const bs_divs = new Array(bs_length).fill(document.createElement("div"));
bs_divs[0].innerHTML = "Hi";
console.log(bs_divs[0].innerHTML); // Hi
console.log(bs_divs[1].innerHTML); // Hi

如何更改此代码,使其仅更改第一个元素的HTML?

2 个答案:

答案 0 :(得分:6)

  

fill传递对象时,它将复制引用并   用对该对象的引用填充数组。

使用username_passwords = dict(data) print(username_passwords['abc'])

Array.from()

答案 1 :(得分:3)

您的数组的长度为bs_length个元素,但实际上它们都是相同的。像许多OOP语言一样,您需要了解原始值/不可变值(例如1true"hello")和对象(例如[1, 2, 3],{{ 1}}或DOM元素)。后者不会被简单地复制,如果您对元素进行{foo: "bar"},则会使用对 one 元素的引用来填充数组。 @ guest271314的答案为fill提供了一个新元素。这是类似以下内容的快捷方式:

fill