【发布时间】:2021-08-03 17:12:06
【问题描述】:
我的滑块中的这段代码有问题。 我需要从所有数组元素中删除一个类。数组的长度可能会有所不同。 此代码有效:
updateGallery() {
this.carouselArray.forEach((el, i ) => {
el.classList.remove('gallery-item-1');
el.classList.remove('gallery-item-2');
el.classList.remove('gallery-item-3');
el.classList.remove('gallery-item-4');
el.classList.remove('gallery-item-5');
});
let carouselSliceLength = this.carouselArray.slice().length;
this.carouselArray.slice(0, carouselSliceLength).forEach((el, i) => {
el.classList.add(`gallery-item-${i+1}`);
});
}
但是这段代码不起作用:
updateGallery() {
this.carouselArray.forEach((el, i ) => {
el.classList.remove(`gallery-item-${i+1}`);
});
let carouselSliceLength = this.carouselArray.slice().length;
this.carouselArray.slice(0, carouselSliceLength).forEach((el, i) => {
el.classList.add(`gallery-item-${i+1}`);
});
}
为什么?
【问题讨论】:
-
这个
"gallery-item-" + $i怎么样? -
i是数组中元素的位置。这绝对不是数字 1-5。即便如此,你也只有一个电话给.remove(),而不是五个。 -
你为什么不尝试打印
i(使用console.log)看看它显示了什么? -
你为什么打电话给
slice这么多? -
请编辑您的问题以包含 HTML、JavaScript 等,以便在您的问题中重现您的问题。
标签: javascript loops foreach iteration