关于ES6的for of循环遍历DOM的问题

我写了个小DEMO熟悉for of循环遍历DOM,却发现一些问题并不知道怎么解决。代码如下面。
js代码如下:
var DOM1 = document.getElementsByTagName("li");
console.log(DOM1);
for (let d of DOM1) {
console.log("执行");
console.log(d);
}

HTML中相关代码如下:



  • 1

  • 2

  • 3




控制台输出如下:图片说明
这说明li都获取到了啊,但就是for循环中的不执行,请指点为什么。
(浏览器是支持ES6的)

你代码肯定放错位置了,放到dom对象前了,你的[]没有内容,所以后面有个感叹号。

所以for没有打印信息

 <body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>  
    </ul>
</body>
<script>
///////////////放dom下面
    var DOM1 = document.getElementsByTagName("li");
    console.log(DOM1);
    for (let d of DOM1) {
            console.log("执行");
        console.log(d);
    }

</script>

你浏览器版本的问题,同样的问题我也遇见过,例如 Chrome 48 版本就不能使用 for of 遍历 nodelist,69版本的就可以。