使用jQuery在元素上加载html

时间:2014-10-25 07:45:39

标签: javascript jquery html ajax cordova

我正在尝试使用AJAX请求的结果填充组件的html,它可以工作......但只是第一次。这适用于一个phonegap应用程序,它试图在应用程序上“封装”一个Web。我告诉你我的代码,然后我会更好地解释。

我的代码是:

function loadPage(rute, callback) 
{
    console.log("ruta: " + rute);
    jQuery.get(rute, function(htmlTemplate) 
    {
        var data = eraseExtraContentExternalPages(jQuery(htmlTemplate).filter("#wrapper"));
        data     = eraseLinksExternalPages(data);
        console.log("#############BODY(wrapper)############# " + data.html());
        jQuery('body').html(data.html());
    });
}
function eraseExtraContentExternalPages(data)
{
    data.find('#secondary').remove();
    data.find('#dd_ajax_float').remove();
    data.find('#author-bio-box').remove();
    data.find('.googlepublisherpluginad').each(function(index){jQuery(this).remove();});
    return data;
}
function eraseLinksExternalPages(data)
{
    data.find("a").each(function(index)
    {
        var a    = jQuery(this);
        var href = a.attr("href");
        if(href && href.indexOf(".jpg")==-1 && href.indexOf(".gif")==-1 && href.indexOf(".png")==-1 && href.indexOf(".jpge")==-1)
            a.attr("href","javascript:loadPage('"+ href +"');"); 
    });
    return data;
}

我做了什么(我认为很简单),我试图在应用程序上设置许多令人讨厌的html元素,并且在更改了“a”元素的href属性之后,对于javascript操作(loadPage),以及它似乎工作,因为我可以看到loadPage函数的第一个console.log(当我按下一个链接时)rute是如何正确的,在第二个console.log上我可以看到data.html的所有内容在logcat上(带有eclipse),但屏幕保持白灰色,左上角有一个小方块......

任何想法?为什么我在日志上看到的html不会加载到正文?

非常感谢!!

0 个答案:

没有答案