gpt4 book ai didi

javascript - jQuery .each() 仅适用于最后一个元素

转载 作者:数据小太阳 更新时间:2023-10-29 05:44:43 27 4
gpt4 key购买 nike

我正在尝试创建要通过 YouTube 获取的视频列表。这是我的 HTML:

  <ul class="videos-list">
<li>
<a href="#" class="vid_thumb">
<img src="http://placehold.it/120x90&amp;text=Loading+.+.+." class="yt_thumb" data-url="http://gdata.youtube.com/feeds/api/videos/f_JRZI9o49w?v=2&amp;alt=jsonc" alt="" />
<span class="duration">Loading...</span></a>
<h5><a href="#"></a></h5>
</li>

<li>
<a href="#" class="vid_thumb">
<img src="http://placehold.it/120x90&amp;text=Loading+.+.+." class="yt_thumb" data-url=
"http://gdata.youtube.com/feeds/api/videos/uHUHFthr2QA?v=2&amp;alt=jsonc" alt="" />
<span class="duration">Loading...</span></a>
<h5><a href="#"></a></h5>
</li>

这是 javascript:

$(function() {
/**
* Set up JSON parsing for video pages
*/
$("a.vid_thumb").each(function(i) {
$this = $(this);
feed_url = $this.children(".yt_thumb").attr("data-url");
$.getJSON(feed_url, function(json) {
$title = json.data.title;
$url = json.data.player.
default;
$thumb = json.data.thumbnail.sqDefault;
$duration = json.data.duration;
$likes = json.data.likeCount;
$views = json.data.viewCount;
$this.next("h5").html("<a href=" + $url + ">" + $title + "</a>");
$this.children(".duration").html($duration);
$this.children(".yt_thumb").attr("src", $thumb);
$this.next("span.view_count").html($views + " Views");
$this.next("span.upload_date").html($likes + " Likes");
});
});
});

该脚本应该适用于类名为“vid_thumb”的所有 anchor 。但它仅适用于最后一个元素。

您可以在此处查看实际效果:http://jsfiddle.net/ZJNAa/我错过了什么吗?

最佳答案

是的,这是一个典型的 Javascript 错误。

如果在声明变量时省略 var 关键字,它将被创建为一个全局变量

您想要的是每个函数的局部变量,因此请务必在它们前面加上 var 前缀。

参见 here用于更新和工作的 jsFiddle。

关于javascript - jQuery .each() 仅适用于最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9374930/

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