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

使用jQuery/ajax从外部站点获取特定元素,jquery,ajax,cross-domain,Jquery,Ajax,Cross Domain,我使用jQuery和从外部站点获取内容 使用以下代码,它工作得非常好: $.ajax({ url: 'http://www.somesite.com/', type: 'GET', success: function(res) { $("#here").html(res.responseText); } }); 但我真正想做的是,只从目标站点拉一个节(div),我知道这只有在使用load()方法时才可能,而不

我使用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上的请求,请求似乎成功了,但代码似乎无法在目标站点上找到以下标记:

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


谢谢

在最初的成功回调中,当您从responseText获取html内容时,您应该在第二种情况下执行相同的操作:

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

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

尝试使用
jQuery.parseHTML()

说明:将字符串解析为DOM节点数组

$.ajax({
   url: 'http://www.somesite.com/',
   type: 'GET',
   success: function(res) {
      var data = $.parseHTML(res);  //<----try with $.parseHTML().
      $(data).find('div.content').each(function(){
          $('#here').append($(this).html());
     });

   }
 });
$.ajax({
网址:'http://www.somesite.com/',
键入:“GET”,
成功:功能(res){

var data=$.parseHTML(res);//在id上使用find怎么样?
find('div#content)
有效吗?@Gcap有效(假设返回的html中有一个