我只想加载页面的正文的内容(sample.html)并将其附加到另一个页面的主体(index.html)..如何才能完成此操作..抱歉,我是菜鸟
我使用了以下代码..但这似乎无法正常工作
$.ajax({
url: "/site/pages/sample.html",
success: function(data){
$('body').append(data);
}
});
答案 0 :(得分:6)
尝试:
$('body').load('/site/pages/sample.html body');
与$ .get()不同,.load()方法允许我们指定一部分 要插入的远程文档。这是通过特殊的方式实现的 url参数的语法。如果有一个或多个空格字符 包含在字符串中,第一个字符串后面的字符串部分 假设space是一个确定内容的jQuery选择器 要加载。
请参阅load()
文档
正如@Windkiller在评论中指出的那样 - 这将复制文档中的body
元素。一个更好的解决方案是使用get和替换body
的内容,例如:
$.get("/site/pages/sample.html body", function(data) {
$("body").replaceWith(data);
});
答案 1 :(得分:4)
一种简单的方法是让jQuery过滤掉返回标记中的<body>
元素,然后使用contents()获取其子项,包括文本节点,并将它们附加到文档正文:< / p>
$.ajax({
url: "/site/pages/sample.html",
success: function(data) {
$(data).contents().appendTo("body");
}
});
答案 2 :(得分:1)
修改sample.html并从中删除不需要的内容(如果只通过ajax访问它)或:将ajax函数返回的数据视为长字符串并仅从中复制需要。
$.ajax({
url: "/site/pages/sample.html",
success: function(data){
$('body').append(parseReturnData(data));
}
});
其中parseReturnData仅返回实际页面所需的内容。
答案 3 :(得分:1)
你可以这样做 声明要显示页面的div
<div id="managePage"> </div>
在脚本代码中添加此代码
$('#managePage').load(pageName);
如果要添加点击然后使用onclick,否则您可以根据您的要求使用