jQuery отправляет только первый символ строки с each(), и это

Я пытаюсь вызвать Froogaloop для различных фреймов на одной странице, но this возвращает только первый символ идентификатора игрока ("vimeo1", "vimeo2" и т. д.)

Я регистрирую playerId (строку) непосредственно перед каждым (), и он возвращается нормально, но как только я попадаю внутрь каждого (), this становится "V".

jQuery(playerId).each(function(){
  Froogaloop(this).addEvent('ready', ready);
});

Спасибо!

2 ответа

Решение

Вы ссылаетесь на элемент на странице с playerID? Является ли "vimeo1" именем класса или идентификатором? Если это так, строка должна быть либо .vimeo1 или же #vimeo1, Таким образом, jQuery будет искать такой элемент, как jQuery('.vimeo1') вместо jQuery('vimeo1')

var playerId = '.vimeo1';

jQuery(playerId).each(function(){
  Froogaloop(this).addEvent('ready', ready);
});

Я понятия не имею, какой параметр ожидает froogaloop, но если это строка из массива playerID, это должно делать то, что вы хотите:

$.each(playerId, function(index, value){
    Froogaloop(value).addEvent('ready', ready);
})
Другие вопросы по тегам