为了账号安全,请及时绑定邮箱和手机立即绑定

es6d的for of循环遍历dom但循环不执行

es6d的for of循环遍历dom但循环不执行

郎朗坤 2018-12-20 18:15:35
我写了个小DEMO熟悉for of循环遍历DOM,却发现一些问题并不知道怎么解决。代码如下面。js代码如下:var DOM1 = document.getElementsByTagName("li");console.log(DOM1);for (let d of DOM1) {        console.log("执行");    console.log(d);}HTML中相关代码如下:<body>    <ul>        <li>1</li>        <li>2</li>        <li>3</li>        </ul></body>控制台输出如下:图片描述这说明li都获取到了啊,但就是for循环中的不执行,请指点为什么。(浏览器是支持ES6的)首先在这里感谢各位的热心回答,我看了之后自己又思考了一下,最后发现了问题所在。请允许我进行简单的描述:我之前问题中的js代码是写在头部<head></head>标签内的,并且没有使用window.onload语句,所以DOM没加载完他就执行了,之后我加上这个,或者把他放在<body></body>的最下面,就可以正常输出了。然后对于这个问题,我又有了个新的疑问,因为由解决办法看,我们似乎可以理解为是因为文档未加载完就执行了js代码,所以li并没有被获取,然而我的DEMO中输出结果的截图中也看到了,这个DOM1输出表明是获取到了3个li的。所以我有些无法理解。
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

刚试了一下可以,要是浏览器不支持这种写法是会报错的。


查看完整回答
反对 回复 2019-01-11
  • 1 回答
  • 0 关注
  • 417 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信