Javascript 在使用一个简单脚本时使用.获取不同的变量
我试图从一些youtube嵌入式视频中获取一个链接,以便与它们建立一些链接,在它们的位置上触发一个漂亮的fancybox来观看视频 从嵌入式视频中获取ID,并将其替换到正确的链接中不是问题。一旦我尝试在循环中编码,它就会变脏 我使用的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/', '
$('.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提供了一些提示