使用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