Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用一个简单脚本时使用.获取不同的变量_Javascript_Jquery_Loops_Youtube - Fatal编程技术网

Javascript 在使用一个简单脚本时使用.获取不同的变量

Javascript 在使用一个简单脚本时使用.获取不同的变量,javascript,jquery,loops,youtube,Javascript,Jquery,Loops,Youtube,我试图从一些youtube嵌入式视频中获取一个链接,以便与它们建立一些链接,在它们的位置上触发一个漂亮的fancybox来观看视频 从嵌入式视频中获取ID,并将其替换到正确的链接中不是问题。一旦我尝试在循环中编码,它就会变脏 我使用的javascript如下所示: $('.portfolio_det iframe').each(function(i) { var videolink = this.src.replace('http://www.youtube.com/embed/', '

我试图从一些youtube嵌入式视频中获取一个链接,以便与它们建立一些链接,在它们的位置上触发一个漂亮的fancybox来观看视频

从嵌入式视频中获取ID,并将其替换到正确的链接中不是问题。一旦我尝试在循环中编码,它就会变脏

我使用的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);
    });
});
最后一段代码检索中的链接 尽管他们都在第一个youtube视频上创建了href

如何将变量设置为也在循环中

为了让一切更清楚一点,下面是一个来自设置的JSFIDLE:


您两次定义var videolink并离开;在第二个的末尾。 第二行应该是:

videolink = videolink.replace('?fs=1&feature=oembed', '');

在循环外部定义变量。还有一次,如果你已经定义了一个变量,你不必把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);
    });
});

我一直认为我们使用相同的变量名,以便为同一个变量获取新的值。无论如何,如果我将第二个变量重命名为其他变量,它不会改变任何东西。你可以随心所欲地重用相同的变量名,只是不要多次尝试用变量前缀定义它。不管怎样,IE7都会让我生气:P所以我大部分时间都忽略了它的失败。然而,对于IE7的愤怒,thnx提供了一些提示