Javascript 使用jQuery在元素上加载html
我正在尝试用AJAX请求的结果填充组件的html,它可以工作。。。但这只是第一次。这是针对phonegap应用程序的,它尝试在应用程序上封装web。我给你看我的代码,然后我会更好地解释 我的代码是: 我所做的我认为很简单,我正在尝试删除应用程序中许多恼人的html元素,在更改元素的href属性后,对于javascript操作loadPage,这似乎是可行的,因为在loadPage函数的第一个console.log上,当我按下一个链接时,我可以看到rute是如何正确的,在第二个console.log上,我可以在eclipse的logcat上看到data.html的所有内容,但是屏幕保持为白灰色,左上角有一个小正方形 有什么想法吗??为什么我在日志中看到的html没有加载到正文中Javascript 使用jQuery在元素上加载html,javascript,jquery,html,ajax,cordova,Javascript,Jquery,Html,Ajax,Cordova,我正在尝试用AJAX请求的结果填充组件的html,它可以工作。。。但这只是第一次。这是针对phonegap应用程序的,它尝试在应用程序上封装web。我给你看我的代码,然后我会更好地解释 我的代码是: 我所做的我认为很简单,我正在尝试删除应用程序中许多恼人的html元素,在更改元素的href属性后,对于javascript操作loadPage,这似乎是可行的,因为在loadPage函数的第一个console.log上,当我按下一个链接时,我可以看到rute是如何正确的,在第二个console.lo
非常感谢 为什么要设置两次数据?您没有对数据的第一个值执行任何操作。您不需要使用.each来删除所有.googlepublisherpluginad元素。只需一次呼叫。移除即可完成所有操作。您好@Barmar。谢谢你的回答。关于第二个原因。。。是的,我删除了它,这是一个旧版本,但与新版本唯一不同的是这个。关于数据。。。我一点也不明白。我正在使用数据将其作为参数传递给其他函数橡皮擦LinksInternalPage,并查询“body”.htmldata.html;但是我怎么说呢,第二个console.log正确地显示了所有的data.html。哦,我错过了第二个调用的参数data。如果在DevTools中检查DOM,您会看到什么?
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;
}