Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите написать цикл (https://javascript.ru/forum/dom-window/72977-pomogite-napisat-cikl.html)

alekspvn 11.03.2018 13:34

Помогите написать цикл
 
Нужен цикл, каждому атрибуту li элемента добавить число на 1. Чтоб был такой вид
<li data-slide-to="0"></li>
<li data-slide-to="1"></li>
<li data-slide-to="2"></li>
<li data-slide-to="3"></li>

Я уже написал цикл, но он добавляет во все элементы число в итоге получается что у всех аттрибутов число 3 стоит.
jQuery(document).ready(function($){
        var getLength = $("ol.carousel-indicators li").length;
        for (var i = 0; i <= getLength; i++) {
            $("ol.carousel-indicators li").each(function(){
                $(this).attr("data-slide-to",""+i+"");
            });
        }
     });

Извините за нубский вопрос, только учусь

laimas 11.03.2018 14:02

$(function() {
    $('li[data-slide-to]').each(function(i, o) {
       o.setAttribute('data-slide-to', i)
    });
})

alekspvn 11.03.2018 14:09

спасибо большое работает.Подскажите, что означает в функции аргумент "о"?

laimas 11.03.2018 14:11

Аргумент функции.

Добавить в код console.log(i, o) и посмотреть, что это такое.

PS. Можно было и так написать:

$(function() {
    $('li[data-slide-to]').each(function(i) {
       this.setAttribute('data-slide-to', i)
    });
});


Да, и учтите, что

$(function() {
//....
})


тоже самое, что и

jQuery(document).ready(function($){
//....
});


чтобы не дублировали.


Часовой пояс GMT +3, время: 12:57.