не понял, что Вы пытаетесь, но вот например:
<ul class="list" id="list"> <li>123</li><li>456</li><li>789</li> </ul> <script> var lists = document.getElementsByClassName('list')[0]; for (i=0;i<lists.children.length;i++){ lists.children[i].onmouseover = show; } function show(){ if(this.tagName == 'LI') this.style.color= this.style.color=='red'?'green':'red'; } </script> ошибка от i<=this.children.length - выход за пределы массива |
Все понял, спасибо.
|
Впредь вдумывайтесь в тексты об ошибках, это вам очень поможет. Ошибки это не просто красный диодик сообщающий о проблеме, они несут в себе информацию.
Рассмотрим ошибку: Cannot set property 'onmouseout' of undefined Невозможно установить свойство 'onmouseout' для undefined. undefined - нездаданное, т.е. либо переменная значение которой отсутствует, либо вовсе что-то несуществующее. Т.е. вы пытаетесь задать свойство 'onmouseout' для того, чего нет. В каком случае children[i] не существует или не задан? Если i меньше нуля, либо больше чем вообще элементов в children. Соответственно что-то не так с итератором. Вот таким образом вы могли сами решить проблему не прибегая к помощи форума.) |
Часовой пояс GMT +3, время: 00:10. |