<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>
# li的顏色已經改變了,但是為什麼控制台還報錯?
ulArry是NodeList對象,for in取得的不只是兩個Dom節點,還有length,item(),namedItem() 。所以運行到length時就報錯了。
你可以在循環中印出 ulArry[i]看看
看圖可以知道為什麼報錯,但是至於為什麼 in 裡面會有一個length 這個i值 得等大神解答
把程式碼放到$(function(){})裡試試
for in會報錯 for不會,第二個ul的class不只是一個哦,有兩個,建議getElementsByTagName
請在確定文件載入完後再操作