gpt4 book ai didi

javascript - 如何使用 HTML 元素设置动态 JavaScript 数组,然后为其设置属性

转载 作者:行者123 更新时间:2023-11-29 19:03:00 24 4
gpt4 key购买 nike

我是 JavaScript 和 StackOverflow 的新手。我正在尝试从页面中提取所有他的按钮元素,然后为它们设置一个 onclick 属性我已经尝试了以下但它似乎不起作用任何帮助将不胜感激。

   var btn = [];
for (var i=-1; i<btn.length; i++)
{
btn[i] = this.document.getElementsByTagName("button")
.setAttribute("onClick","btnClick()");
}
console.log("array length " + btn.length);
console.log(btn);

在控制台中我得到:

     script.js:13 Uncaught TypeError: this.document.getElementsByTagName(...)
.setAttribute is not a function at script.js:13
(anonymous) @ script.js:13

我已经尝试了很多不同的东西,如果我从我得到的代码中删除 .setAttribute:

    script.js:15 array length 0
script.js:16
[-1: HTMLCollection(13)]
-1: HTMLCollection(13)
board:button#board.btn
edCourse:button#edCourse.btnGray1
edModule:button#edModule.btnGray1
edStudent:button#edStudent.btnGray1
entCourse:button#entCourse.btnGray
entModule:button#entModule.btnGray
entStudent:button#entStudent.btnGray
length:13
resultLst:button#resultLst.btn
sap:button#sap.btn
trans:button#trans.btn
vwCourse:button#vwCourse.btnGray
vwModule:button#vwModule.btnGray
vwStudent:button#vwStudent.btnGray
0:button#entStudent.btnGray
1:button#entCourse.btnGray
2:button#entModule.btnGray
3:button#edStudent.btnGray1
4:button#edCourse.btnGray1
5:button#edModule.btnGray1
6:button#vwStudent.btnGray
7:button#vwCourse.btnGray
8:button#vwModule.btnGray
9:button#sap.btn
10:button#board.btn
11:button#trans.btn
12:button#resultLst.btn
__proto__:HTMLCollection
length:0
__proto__:Array(0)

请帮忙,如果这个问题以前有人问过,但我找不到答案,对不起。

最佳答案

document.getElementsByTagName 返回类似数组的 HTMLCollection。顺便说一句,不需要 this.document。只需使用文档

迭代此集合并使用 addEventListener 绑定(bind)事件监听器:

var btn = document.getElementsByTagName("button");
for (var i = 0; i < btn.length; i++) {
// btn[i] contains the <button> element
btn[i].addEventListener('click', btnClick);
}
console.log("array length " + btn.length); // logs the number of buttons in the document
console.log(btn); // logs the HTMLCollection

上面的代码片段需要一个名为 btnClick 的函数,只要单击其中一个按钮,就会调用该函数。

关于javascript - 如何使用 HTML 元素设置动态 JavaScript 数组,然后为其设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45436297/

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