Maison > Questions et réponses > le corps du texte
<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>
La couleur du li a changé, mais pourquoi la console signale-t-elle toujours une erreur ?
typecho2017-07-05 11:00:11
ulArry est un objet NodeList. Car in obtient non seulement deux nœuds Dom, mais également la longueur, item(), nomméeItem(). Ainsi, lorsqu'il atteint la longueur, une erreur est signalée.
Vous pouvez imprimer ulArry[i] dans la boucle et voir
迷茫2017-07-05 11:00:11
Vous pouvez voir pourquoi l'erreur est signalée en regardant l'image, mais quant à la raison pour laquelle il y a une longueur en po, cela vaut la peine d'attendre que l'expert réponde
扔个三星炸死你2017-07-05 11:00:11
for in signalera une erreur mais pas. La deuxième classe ul n'est pas seulement une, mais deux. Il est recommandé de getElementsByTagName
.我想大声告诉你2017-07-05 11:00:11
Veuillez vous assurer que le document est chargé avant de continuer