使用for of循环遍历获取的nodeList,配置babel编译,webpack打包之后在iphone5下报错
报错信息:
Symbol.iterator is not a function [duplicate]
代码示例:
function insertCta() { let ctaArr = Array.from(document.getElementsByClassName("cta")); for (let i of ctaArr) { i.innerHTML = placeholder.cta; } }
分析原因:
DOM获取的nodeList类似数组,但是不是数组,直接用for of循环确实可以遍历,但是在iphone5下回报错,所以需要转为真正的数组。
解决方案:
如上面代码,加了Array.from方法将nodeList转为真实数组之后,iphone5报错消除。
参考问题答案:https://stackoverflow.com/questions/37676768/symbol-iterator-is-not-a-function