2

我收到 ajax 响应为 html,我需要提取指定 div 的内容。

有用:

function callback(data) {
    container = $(data).filter('div.container#container');
    container_in = $(container.html()).filter('div.container-in');
    main_container = $(container_in.html()).filter('div#main-container.main-container');
    div_content = $(main_container.html()).filter('div#content.right-block');
}

它返回空

$(data).filter('div#content.right-block')

但是,我可以在 $(data) 上使用一个选择器吗?

4

1 回答 1

4
function callback(data) {
    container = $(data).find('#container');
    container_in = container.find('div.container-in');
    main_container = container_in.find('#main-container');
    div_content = main_container.find('#content');
}

您不需要继续使用.html()and $(),因为第一个$(data)将所有内容解析为 DOM 元素。此外,ID 选择器上的额外标签和类限定符是多余的,因为 ID 必须是唯一的。

您还可以使用单个选择器访问内容:

div_content = $(data).find("#content");
于 2013-02-12T10:08:52.530 回答