首页 > 解决方案 > Javascript 更改所有数组元素的 HTML 代码

问题描述

我正在尝试创建“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?

标签: javascriptarrays

解决方案


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

利用Array.from()

Array.from({length:bs_length}, () => document.createElement("div"));

推荐阅读