gpt4 book ai didi

javascript - ForEach ES6 没有工作

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

我对 forEach ES6 有疑问。我编写了添加元素“div”的函数,使用的是纯 javascript。我想将代码重制为 ecmascript 6,但现在代码不起作用。为什么?我认为用 ecmascript 6 编写的代码是正确的。

感谢帮助

此代码有效:

Javascript

function addElement() {
let linkToGallery = document.getElementsByClassName("gallery-1");
for (var i = 0; i < linkToGallery.length; i++) {
linkToGallery[i].addEventListener('click', () => {
const newDiv = document.createElement("div");
const newDiv2 = document.createElement("div");
newDiv.id = "buttonGallery";
newDiv2.innerHTML = "";
newDiv2.innerHTML += "<div id='test'>Test</div>";
document.body.appendChild(newDiv);
document.body.appendChild(newDiv2);
});
}

如果相同,此代码为何不起作用?

Ecmascript 6

function addElement() {
let linkToGallery = document.getElementsByClassName("gallery-1");
linkToGallery.forEach((current) => {
current.addEventListener('click', () => {
const newDiv = document.createElement("div");
const newDiv2 = document.createElement("div");
newDiv.id = "buttonGallery";
newDiv2.innerHTML = "";
newDiv2.innerHTML += "<div id='test'>Test</div>";
document.body.appendChild(newDiv);
document.body.appendChild(newDiv2);
});
});

感谢您的帮助。

最佳答案

您可以使用 for/of 迭代 array-like:

var ref = document.getElementsByClassName('gallery-1')

for (var item of ref) {
console.log(item);
}

如我所见,几乎所有人都支持 TypedArray%.prototype[Symbol.iterator]:

Symbol.iterator

关于javascript - ForEach ES6 没有工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47936872/

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