首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能使用这个AJAX响应的一部分?

为什么我不能使用这个AJAX响应的一部分?
EN

Stack Overflow用户
提问于 2016-05-18 19:18:55
回答 1查看 58关注 0票数 1

我有一个jQuery ajax调用:

代码语言:javascript
运行
复制
$.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似乎工作得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-18 19:33:39

您可以尝试使用$.parseHTML

代码语言:javascript
运行
复制
var newContent = $($.parseHTML(data)).find('#content');

如果#content是一个顶级元素,那么上面的代码可能仍然会遗漏它。然后,您可以通过首先在容器中加载HTML来解决这个问题,然后在其中找到元素:

代码语言:javascript
运行
复制
var newContent = $('<div>').append($.parseHTML(data)).find('#content');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37308363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档