Получение разных переменных с использованием .each при использовании одного простого скрипта - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь получить ссылку от некоторых встроенных видео YouTube, чтобы сделать несколько ссылок на них, которые вместо них вызывают красивую коробку для просмотра видео.

Получение идентификатора извстроенное видео, и замена его по правильной ссылке не проблема.Он становится грязным, как только я пытаюсь кодировать в цикле.

Я использую следующий JavaScript:

$('.portfolio_det iframe').each(function(i) {
    var videolink = this.src.replace('http://www.youtube.com/embed/', '');
    var videolink = videolink.replace('?fs=1&feature=oembed', '')

    $('.portfolio_thumb .youtubeLink').each(function(i) {
        $(this).attr('href', "http://www.youtube.com/watch?v=" + videolink);
    });
});

Последний фрагмент кода извлекает ссылку в Хотя они всеполучить href, созданный в первом видео на YouTube.

Как установить переменную так, чтобы она была в цикле, а также?

Чтобы сделать все немного более понятным, вот jsfiddle из установки:

JS Fiddle

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Определить переменную вне цикла.Также однажды, если вы определили переменную, вам не нужно ставить var перед ней.

var videolink;
$('.portfolio_det iframe').each(function(i) {
    videolink = this.src.replace('http://www.youtube.com/embed/', '');
    videolink = videolink.replace('?fs=1&feature=oembed', '')

    $('.portfolio_thumb .youtubeLink').each(function(i) {
        $(this).attr('href', "http://www.youtube.com/watch?v=" + videolink);
    });
});
0 голосов
/ 23 января 2012

Вы определяете var videolink дважды и покидаете; от конца второго. Вторая строка должна быть:

videolink = videolink.replace('?fs=1&feature=oembed', '');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...