使用jQuery .get()来获取特定元素

时间:2014-01-23 14:34:07

标签: jquery ajax

我正在尝试使用ajax使用jQuery从另一个文件中获取具有特定类的元素,解析html以从中获取一些数据并将其放入对象中,然后以不同于原始文件的标记显示数据#content中的html,主页上的元素..

使用load()时,我可以定位一个特定的类:

$("#content").load("article.html .cover", function(){
    console.log("load() success");
});

这样可行,但我不希望将article.html中的html放入#content,所以我尝试使用ajax(),这样我就可以在回调中显示它之前操作html:

$.ajax({
    url: "article.html .cover"
}).done(function(){
console.log("ajax() success");
});

但这会导致404错误。 get()结果与ajax()相同。

$.get("article.html .cover", function(){
    console.log("get() success");
});

如何使用get()来定位此特定元素?

1 个答案:

答案 0 :(得分:3)

你可以试试这个:

$.get("article.html", function(html){
   var cover = $(html).find('.cover');
});

$.get中没有任何魔法,因为它似乎在$.load中找到页面中的特定元素。您可以使用$.get获取任何文件类型,例如,在获取json文件时添加选择器是没有意义的。

修改

如果您关心性能,显然$.get默认使用缓存(link)。

如果您的服务器端代码允许,您可以(应该?)还返回所需的内容。可能要求articlecover.html article.html {}进行{{1}}