【问题标题】:append form inside .getJSON to a child element将 .getJSON 中的表单附加到子元素
【发布时间】:2015-03-09 20:02:41
【问题描述】:

您好,我正在使用 getJSON 来获取有关 youtube 视频的信息,我正在尝试在我的网站上显示它。

$.each($('section'), function() {
              var video_id = $(this).attr("id");


            $.getJSON('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',function(data,status,xhr){

                 $('.views').append(data.data.viewCount);

                 $('.author').append(data.data.uploader);

                 $('.likes').append(data.data.likeCount);

         }); 

        });

我遇到的问题是数据被附加到每个类。 有什么方法可以将数据附加到这个特定的部分。

【问题讨论】:

  • 这真的取决于您所指的特定部分。您很可能必须调整选择器('.views'、'.author'、'.likes')以包含更多粒度。如果您有正在处理的 HTML,请将其发布。
  • 我正在使用 .each() 从每个视频中获取 id(在 section 标签中)。因此,我希望看到具有特定 ID 的视频上显示的数据
  • 您可以在选择时直接致电.each()。它更干净。例如。 $("section").each(...);.

标签: javascript jquery append getjson


【解决方案1】:

使用find 继承section DOM 元素,以避免选择DOM 中某个类的所有元素。

$.each($('section'), function() {
    var video_elem = $(this);
    var video_id = $(this).attr("id");
    $.getJSON('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',function(data,status,xhr){
        video_elem.find('.views').append(data.data.viewCount);
        video_elem.find('.author').append(data.data.uploader);
        video_elem.find('.likes').append(data.data.likeCount);
    }); 
});

【讨论】:

  • video_id 是一个字符串,而不是一个 DOM 元素。
  • @Alex 我明白了,正在修复。完成。
猜你喜欢
  • 2021-10-26
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-10
  • 1970-01-01
  • 2020-11-10
  • 2021-01-20
相关资源
最近更新 更多