Найти элемент после этого в коллекции всего с jQuery

0

Учитывая эти две переменные:

var all = $('audio');
var specific = $(this);

Где all включает specific, как я могу найти элемент, который приходит после specific во all коллекции?


Назначение: Когда один аудио-элемент заканчивается, я хочу начать следующий автоматически.

$('audio')
    .each(function(){
        this.onended = onEnded;
    });

function onEnded(event)
{
    var next = ?;
    next.play();
}
Теги:
jquery-selectors

1 ответ

1
Лучший ответ

Я бы предложил использовать index() с селектором, чтобы он соответствовал:

var current = specific.index('audio'),
    next = all.eq(current + 1);

Или, чтобы вернуться к первому, если нет следующего элемента аудио:

    next = all.eq(current + 1 < all.length ? current + 1 : 0);

Рекомендации:

  • 0
    Этот безопасный ток - последний элемент?
  • 0
    Ну, вы должны проверить, что next меньше, чем all.length я думаю, но оно должно быть достаточно «безопасным», я думаю. Отредактировано, чтобы добавить альтернативу, которая проверяет и возвращается к первому audio если нет «следующего» для воспроизведения.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню