我收到 html 形式的 ajax 响应,我需要提取指定 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) 上使用一个选择器吗?
最佳答案
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()
和 $()
,因为第一个 $(data)
会解析所有内容到 DOM 元素中。此外,ID 选择器上的额外标记和类限定符是多余的,因为 ID 必须是唯一的。
您还可以使用单个选择器获取内容:
div_content = $(data).find("#content");
关于javascript - Ajax 响应上的 Jquery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829835/