gpt4 book ai didi

javascript - 在 JavaScript 数组中存储 DOM 元素引用。为什么我不能重用存储的引用来添加 eventListener?

转载 作者:行者123 更新时间:2023-11-30 15:12:47 25 4
gpt4 key购买 nike

<分区>

恐怕这可能是一个愚蠢的问题,但我不知道我的问题是什么。

我动态创建按钮(每个按钮都有唯一的 ID),并将每个 btn 引用 (document.getElementById()) 存储在简单的二维数组中。所有这些都是因为我需要将 btns 组织得井井有条。


问题是:当我尝试通过引用修改之前存储在数组中的元素时,ref 和 html 元素之间似乎没有任何联系。


var Table = {
size: 10,
table: [],
generateTable: function() {
var i = 0,
j = 0,
id = null,
tablePlaceholder = document.getElementById("tableHTML");

//Generate table
for (i = 0; i < this.size; i++) {
this.table.push([]);
for (j = 0; j < this.size; j++) {
id = i.toString() + "-" + j.toString();
tablePlaceholder.innerHTML += element(id);
this.table[i].push(document.getElementById(id));
}
tablePlaceholder.innerHTML += "</br>";
}



console.log(this.table[0][0].className);
document.getElementById("0-0").className += " btn-success";
console.log(this.table[0][0].className);
}, ...

最后两个 console.logs 的结果是一样的,但是 DOM 中的元素发生了变化。table[0][0] 返回与 document.getElementById("0-0") 相同的内容。(element() 函数返回简单的 html 代码(效果很好))

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