小编典典

使用jQuery / Ajax从外部站点获取特定元素

ajax

我正在使用jQuery和 此插件 从外部站点提取内容。

使用以下代码,效果很好:

$.ajax({
       url: 'http://www.somesite.com/',
       type: 'GET',
       success: function(res) {
          $("#here").html(res.responseText);
       }
     });

但是,我真正想做的只是从目标站点中拉出一个部分(div),我知道这仅在使用该load()方法时才可行,而在时才可行GET

然后,我找到了 这段代码 ,但是当我尝试将其构建到代码中时,它似乎不起作用,如下所示:

$.ajax({
       url: 'http://www.somesite.com/',
       type: 'GET',
       success: function(res) {
          $(res).find('div.content').each(function(){
              $('#here').append($(this).html());
         });

       }
     });

调查Firebug上的请求,该请求看起来确实成功,但是代码似乎无法<div class="content row">在目标站点上找到以下标记:

我是否需要确保目标元素具有#ID而不是类?

谢谢!


阅读 421

收藏
2020-07-26

共1个答案

小编典典

在最初的成功回调中,您将从responseText中获取html内容,在第二种情况下,您应该这样做:

   success: function(res) {
      $(res.responseText).find('div.content').each(function(){
          $('#here').append($(this).html());
     });

使用class =“ content”或id应该可以。但是,您应该注意,上面的代码将所有具有类内容的 div 添加到您的id =“ here”
div中,而这可能并不是您想要的。如果只需要特定元素的内容,请使用其 ID

2020-07-26