很抱歉,如果已多次发布此内容。但我尝试了很多变化,它仍然无法正常工作。 HTML从jquery AJAX调用返回正常,我试图使用以下命令从响应中删除页眉和页脚:
// none of these work for me
$("#content", data);
$("#content", $(data));
$(data).find("#content").html()
我通过检查$(数据)并使用alert打印出数据文本来断开响应以验证#content是否存在。我也尝试使用“body”或“a”作为选择器,但它总是以未定义的方式返回。
我在这篇文章中读到你无法提取完整的XHTML文档:jquery ajax parse response text。但是我再也找不到答案的引用了,也许它已经过时了?
有没有人遇到过这个问题?
非常感谢, 史蒂夫
答案 0 :(得分:4)
这对我有用:
$(data).filter("#content");
答案 1 :(得分:2)
您需要一个div来附加您的数据。像$("#response").replaceWith($(data).find('#content'));
一样
这应该工作
答案 2 :(得分:2)
答案 3 :(得分:1)
您从AJAX调用中收到的数据不是DOM树的一部分,因此您无法使用JQuery函数调用来操作它。您可以使用文本操作函数,可以使用JSON,也可以将响应附加到DOM。
答案 4 :(得分:0)
您使用的是get方法吗?或者,您可以使用jQuery加载方法,您可以在其中提供要加载的页面片段。
例如,从正确的html文档中加载内容div,您可以使用
$(“#div-to-load-to”)。load(“html-doc-to-load-from.html #content”,function(){ //做一点事 });
答案 5 :(得分:0)
您必须保证HTML dom格式正确。
尝试最简单的HTML
<html>
<head>
<title>title here</title>
</head>
<body>
<div>
<div>hello</div>
<span id="s">span content</span>
</div>
</body>