我寫了個小DEMO熟悉for of循環(huán)遍歷DOM,卻發(fā)現(xiàn)一些問題并不知道怎么解決。代碼如下面。js代碼如下:var DOM1 = document.getElementsByTagName("li");console.log(DOM1);for (let d of DOM1) { console.log("執(zhí)行"); console.log(d);}HTML中相關(guān)代碼如下:<body> <ul> <li>1</li> <li>2</li> <li>3</li> </ul></body>控制臺輸出如下:圖片描述這說明li都獲取到了啊,但就是for循環(huán)中的不執(zhí)行,請指點(diǎn)為什么。(瀏覽器是支持ES6的)首先在這里感謝各位的熱心回答,我看了之后自己又思考了一下,最后發(fā)現(xiàn)了問題所在。請允許我進(jìn)行簡單的描述:我之前問題中的js代碼是寫在頭部<head></head>標(biāo)簽內(nèi)的,并且沒有使用window.onload語句,所以DOM沒加載完他就執(zhí)行了,之后我加上這個,或者把他放在<body></body>的最下面,就可以正常輸出了。然后對于這個問題,我又有了個新的疑問,因為由解決辦法看,我們似乎可以理解為是因為文檔未加載完就執(zhí)行了js代碼,所以li并沒有被獲取,然而我的DEMO中輸出結(jié)果的截圖中也看到了,這個DOM1輸出表明是獲取到了3個li的。所以我有些無法理解。
es6d的for of循環(huán)遍歷dom但循環(huán)不執(zhí)行
郎朗坤
2018-12-20 18:15:35