Не могу настроить выборку элементов из массива
Моя первая работа с массивами. До этого делал на jquery только простейшие вещи вроде выпадающих списков и модальных окон.
Суть проблемы: в массиве сложены классы элементов. Цикл перебирает элементы по одному. Что я хотел получить - изображения должны исчезать одно за другим. А на деле - исчезает лишь первое изображение. Вроде бы простяцкая задача. Но сижу уже третий час и не могу понять, в чем проблема. Цикл не работает.:( |
Ах да, вот код:
<script> $(document).ready(function(){ var slides = new Array("0","1","2","3","4"); for(i=0;i<slides.length;i++){ if($('img').attr('class') == slides[i]){ a = "img." + String(slides[i]); $(a).hide(1000); }; }; }); </script> <body> <div class="wrapper"> <div id="slideshow"> <div id="slideshow-image-wrapper"> <img class="0" src="img/image1.jpg" alt="image1"/> <img class="1" src="img/image2.jpg" alt="image2"/> <img class="2" src="img/image3.jpg" alt="image3"/> <img class="3" src="img/image4.jpg" alt="image4"/> <img class="4" src="img/image5.jpg" alt="image5"/> </div> </div> </div> </body> </html> |
menscool,
Возможно из-за того, что у тебя "a" не объявлена |
menscool, вот смотри, в 5-й строчке:
$('img').attr('class') Взять все элементы <img> и получить у них значение атрибута class. Очевидно, что у каждой картинки может быть свой класс. И, по-хорошему, тут надо бы бросить ошибку, потому что логика тут явно нарушена. Но jQuery не такая: она возвращает атрибут первой картинки. Вообще, странное условие, не понятно, чего ты хотел этим сказать. Но условие срабатывает только для первого элемента массива. |
Имя класса нельзя начинать с цифры.
|
Часовой пояс GMT +3, время: 00:32. |