javascript – Der JS-Code wurde erfolgreich kompiliert, aber auf der Konsole wird ein Fehler gemeldet. Was ist das Problem?
大家讲道理
大家讲道理 2017-07-05 10:58:11
0
5
858
<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>


Die Farbe von li hat sich geändert, aber warum meldet die Konsole immer noch einen Fehler?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(5)
typecho

ulArry是NodeList对象,for in获取到的不只是两个Dom节点,还有length,item(),namedItem() 。所以运行到length时就报错了。
你可以在循环中打印出 ulArry[i]看看

迷茫

看图可以知道为什么报错,但是至于为什么 in 里面会有一个length 这个i值 得等大神解答

迷茫

把代码放到$(function(){})里试试

扔个三星炸死你

for in会报错 for不会,第二个ul的class不仅仅是一个哦,有两个,建议getElementsByTagName

我想大声告诉你

请在确定文档加载完后再操作

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!