gpt4 book ai didi

javascript - forEach 在 iOS Safari 上不起作用

转载 作者:行者123 更新时间:2023-11-28 20:59:23 26 4
gpt4 key购买 nike

我有一个函数允许我根据它们的主体类在特定页面中加载特定模块。出于某种原因,我的 forEach 函数无法在 iOS 设备上运行,特别是在 safari 上。我试图解决这个问题有一段时间了,但我不知道如何继续...使用 try/catch,给定的错误是:

类型错误:document.getElementsByTagName("body")[0].classList.forEach 不是函数。 (在 'document.getElementsByTagName("body")[0].classList.forEach(function(e){var t=e;x.hasOwnProperty(t)&&new x[t]})', 'document.getElementsByTagName("body")[0].classList.forEach' 未定义)

这是我的代码:

import Header from './Components/Header';
import Shelf from './Components/Shelf';

import Home from './Pages/Home';
import Category from './Pages/Category';
import Product from './Pages/Product';
import NossasLojas from './Pages/NossasLojas';
import Checkout from './Pages/Checkout';

const Routes = {
"home": Home,
"single-product": Product,
"page-template-nossas-lojas": NossasLojas,
"archive": Category,
"woocommerce-cart": Checkout
};

export default class Pages {
constructor(){
new Header();
new Shelf();

try {
document.getElementsByTagName("body")[0].classList.forEach(function(e){
let pageName = e;

if(Routes.hasOwnProperty(pageName)){
new Routes[pageName]();
}
})
}
catch (err) {
alert(err);
}
}
}

非常感谢! :)

最佳答案

类列表不是一个数组,它是一个对象。

您可以使用 Array.from() 将其转换为数组像这样:

Array.from(document.getElementsByTagName("body")[0].classList).forEach(i => console.log(i))

关于javascript - forEach 在 iOS Safari 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50299337/

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