gpt4 book ai didi

javascript - 附加YouTube嵌入式视频标题

转载 作者:行者123 更新时间:2023-12-03 06:01:58 24 4
gpt4 key购买 nike

我正在尝试遍历页面中的每个YouTube视频(使用iframe embed方法),并使用jQuery附加到每个视频标题。我的HTML看起来像这样:

<div class="video-wrapper">
<div class="video-container">
<iframe src="http://www.youtube.com/embed/qzNSsDD_LzE" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="video-wrapper">
<div class="video-container">
<iframe src="http://www.youtube.com/embed/9bZkp7q19f0" frameborder="0" allowfullscreen></iframe>
</div>
</div>

jQuery如下所示:
var video = $('.video-container');
video.each(function() {
var youTuberegex = /(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=))([\w-]{10,12})/g,
videoID = youTuberegex.exec($(this).find('iframe').attr('src'))[1];

$.getJSON('http://gdata.youtube.com/feeds/api/videos/'+videoID+'?v=2&alt=jsonc', function(data){
var videoTitle = data.data.title;
video.after('<figcaption>'+videoTitle+'</figcaption>');
});
});

因此,我正在(尝试)拍摄每个视频并使用正则表达式提取ID。然后,我使用视频提要来检索标题,并将其附加到 video-container

这在 a jsFiddle中。如您所见,问题在于每个视频的标题每次都会附加。我在哪里做错了,这是实现我所追求的目标的有效方法吗?

最佳答案

video变量是指与选择器“.video-container”匹配的整个对象集,因此在执行操作时

video.after('<figcaption>'+videoTitle+'</figcaption>');

它在每一个人上都这样做。

您需要做的是:
video.each(function() {
var videoBox = $(this)
var youTuberegex = /(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=))([\w-]{10,12})/g,
videoID = youTuberegex.exec($(this).find('iframe').attr('src'))[1];

$.getJSON('http://gdata.youtube.com/feeds/api/videos/'+videoID+'?v=2&alt=jsonc', function(data){
var videoTitle = data.data.title;
videoBox.after('<figcaption>'+videoTitle+'</figcaption>');
});
});

videoBox变量指向该视频的特定div。

关于javascript - 附加YouTube嵌入式视频标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14342658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com