我写了个小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的。所以我有些无法理解。
添加回答
举报
0/150
提交
取消