成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

javascript - JS代碼編譯成功,但是控制臺報錯,是什么問題?

瀏覽:125日期:2023-03-01 17:47:13

問題描述

<ul class='ul'><li>red</li> <li>1</li> <li>1</li> <li>1</li></ul><ul class='ul ul-2'><li>red</li> <li>1</li> <li>1</li> <li>1</li></ul><script type='text/javascript'> var ulArry = document.getElementsByClassName('ul'); for (var i in ulArry) {ulArry[i].firstChild.style.color = '#FF0000'; }</script>

javascript - JS代碼編譯成功,但是控制臺報錯,是什么問題?

javascript - JS代碼編譯成功,但是控制臺報錯,是什么問題? li的顏色已經改變了,但是為什么控制臺還報錯?

問題解答

回答1:

ulArry是NodeList對象,for in獲取到的不只是兩個Dom節點,還有length,item(),namedItem() 。所以運行到length時就報錯了。 你可以在循環中打印出 ulArry[i]看看

回答2:

javascript - JS代碼編譯成功,但是控制臺報錯,是什么問題?

javascript - JS代碼編譯成功,但是控制臺報錯,是什么問題?

看圖可以知道為什么報錯,但是至于為什么 in 里面會有一個length 這個i值 得等大神解答

回答3:

把代碼放到$(function(){})里試試

回答4:

for in會報錯 for不會,第二個ul的class不僅僅是一個哦,有兩個,建議getElementsByTagName

回答5:

請在確定文檔加載完后再操作

標簽: JavaScript