我正在使用jQuery和 此插件 从外部站点提取内容。
使用以下代码,效果很好:
$.ajax({ url: 'http://www.somesite.com/', type: 'GET', success: function(res) { $("#here").html(res.responseText); } });
但是,我真正想做的只是从目标站点中拉出一个部分(div),我知道这仅在使用该load()方法时才可行,而在时才可行GET。
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">在目标站点上找到以下标记:
<div class="content row">
我是否需要确保目标元素具有#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 。