将标记转换为jQuery对象会产生数组而不是DOM
我试图通过AJAX获取页面,过滤结果并将其添加到现有DOM元素之后:将标记转换为jQuery对象会产生数组而不是DOM,jquery,html,Jquery,Html,我试图通过AJAX获取页面,过滤结果并将其添加到现有DOM元素之后: $.get(url, null, function(response) { $response = $(response); $response.find('#content > article').after('#content > header') }) 响应是一个完整的HTML文档,包含doctype、、和 我希望我可以在$response上使用所有正常的jQuery函数,但它看起来只是一个
$.get(url, null, function(response)
{
$response = $(response);
$response.find('#content > article').after('#content > header')
})
响应
是一个完整的HTML文档,包含doctype、
、
和
我希望我可以在$response
上使用所有正常的jQuery函数,但它看起来只是一个jQuery包装的数组,或者在我的例子中同样无用的东西
我建立了一个关于我要做的事情的框架(sans-AJAX)
如何将整个HTML页面的字符串表示形式转换为可用的jQuery对象?该命令仅搜索子元素。将命令更改为:
$("<div/>").append(markup).find('#insertme').insertAfter('#first')
$(“”)。追加(标记)。查找('#insertme')。insertAfter('#first'))
在这里摆弄:只是一个想法,您可以尝试将内容类型设置为XML,我发现它允许您在附加之前将其解析为HTML片段:
function success(xml_fragment) {
$response = $(xml_fragment);
$response.find('#content > article').after('#content > header')
}
$.get(url, null, success, 'xml');
谢谢我过去也做过类似的事情。我不知道这里发生了什么。你也可以使用$.xml,然后不必先追加。@Michael什么是
$.xml
?@daveͤͮͣͩ,我的错误是,没有$.xml方法,但我的意思是你可以强制将“xml”作为数据类型,请参见下面的答案。当然。你回答得太快了,所以还不让我接受答案。干得好。。。