我寫了個小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的。所以我有些無法理解。
es6d的for of循環遍歷dom但循環不執行
郎朗坤
2018-12-20 18:15:35