javascript - 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?
解决方案
当fill被传递给一个对象时,它将复制引用并用对该对象的引用填充数组。
利用Array.from()
Array.from({length:bs_length}, () => document.createElement("div"));
推荐阅读
- spring-integration - 如果我们在 Spring Integration 中的 Splitter 和 Aggregator 或接收者列表路由器和 Aggregator 之间有异常,请了解如何清理存储
- sql - 这个嵌套查询的结构有什么问题?
- python - 迭代单击包含链接的表格单元格,并在使用 selenium 和 python 抓取数据时通过链接文本找到它
- c# - C# 中 Predicate 和 Func 委托之间的区别
- ruby-on-rails - Rails link_to 调用的多个数据集和类型
- python - 如何使用 requests_html 获取网站信息?
- python - 如何在多个字符串中查找与列表中的项目匹配的项目
- c# - 如何抑制具有 Inject 属性的属性的 Resharper 广泛分析警告?
- sql - ORACLE SQL:查找最后一个最小和最大连续周期
- ios - iOS - 使用 scrollViewDidZoom 和 touchesMoved 在滚动视图上添加两指手势