jQuery 1.8.1 .load html> body

时间:2012-09-04 06:13:54

标签: jquery ajax cordova

$("#loader").load(someurl, null, function ()
{
    var html = $("#loader").html(); 
    alert(html);  //works 
});

然而,

$("#loader").load(someurl, "body", function ()
{
    var html = $("#loader").html(); 
    alert(html);  //does NOT work 
});

我尝试在phonegap / cordova上获取外部主机html数据。

filetransfer.download API对我的html提取效果不佳,我发现jQuery .load函数效果很好,认为它有用,因为文件管理不涉及但只涉及内存。

问题是,因为整个HTML曾经加载到某些$("#loader"),css /样式表中,html.body图层冲突和混乱。

因此,我尝试只获取html的正文部分 http://api.jquery.com/load/

.load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)] )

但是,[, data]选项永远不会有效。

"html>body"不起作用,或者任何选择器似乎都无法正常工作。

这是错误吗?

3 个答案:

答案 0 :(得分:2)

选择器应附加到url(用空格分隔)。

$("#loader").load(someurl + ' body', function (){
    var html = $("#loader").html(); 
    alert(html);
});

答案 1 :(得分:1)

data参数用于发出加载请求,如果要过滤页面中的内容,则必须将选择器添加到以空格分隔的url的末尾。

$("#loader").load(someurl + ' body', function (){
    var html = $("#loader").html(); 
    alert(html);
});

答案 2 :(得分:1)

您只能使用加载方法加载页面的一部分。您需要在第一个参数中提供选择器。 (请参阅Load() api上的Loading Page Fragments部分)

$('#loader').load('ajax/test.html body',function(){
var html = $("#loader").html();
alert(html);

});