我正在尝试创建“ 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?
答案 0 :(得分:6)
fill传递对象时,它将复制引用并 用对该对象的引用填充数组。
使用username_passwords = dict(data)
print(username_passwords['abc'])
Array.from()
答案 1 :(得分:3)
您的数组的长度为bs_length
个元素,但实际上它们都是相同的。像许多OOP语言一样,您需要了解原始值/不可变值(例如1
,true
,"hello"
)和对象(例如[1, 2, 3]
,{{ 1}}或DOM元素)。后者不会被简单地复制,如果您对元素进行{foo: "bar"}
,则会使用对 one 元素的引用来填充数组。 @ guest271314的答案为fill
提供了一个新元素。这是类似以下内容的快捷方式:
fill