我有一个jQuery ajax调用:
$.ajax ({
url : 'foo/bar/',
success: function(data) {
console.log(data);
var newHeaderText = $(data).find('#header-text').text();
$("#header-text").text(newHeaderText);
var newContent = $(data).find('#content').html();
console.log(newContent);
$("#content").html(newContent);
}
});
日志记录的data
成功地显示目标页的完整html。
header-text
部分按预期工作。
然而,console.log(newContent)
返回undefined
。除了在这里发布foo/bar/
的整个html之外,我很确定id content
的一个div在data
中,并且它有许多子元素。
为什么我试图抓取一个页面的内容,并将其放入另一个页面的内容中,却不起作用。这对我来说尤其令人困惑,因为header-text
似乎工作得很好。
发布于 2016-05-18 19:33:39
您可以尝试使用$.parseHTML
:
var newContent = $($.parseHTML(data)).find('#content');
如果#content
是一个顶级元素,那么上面的代码可能仍然会遗漏它。然后,您可以通过首先在容器中加载HTML来解决这个问题,然后在其中找到元素:
var newContent = $('<div>').append($.parseHTML(data)).find('#content');
https://stackoverflow.com/questions/37308363
复制相似问题