qq_34427235
深秋的那首歌
2017-07-29 02:53
采纳率: 16.7%
浏览 2.3k

关于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的)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • showbo
    已采纳

    你代码肯定放错位置了,放到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>
    
    点赞 评论
  • relyeditor
    wqMV 2019-01-04 15:38

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

    点赞 评论

相关推荐