使用jquery解析完整的html页面

我用ajax加载html。我想将结果加载到jquery对象中。我试过了,但它返回空值。我该怎么做?我得到了一个完整的页面,包括doctype、head元素和body元素

var测试=$(结果)//结果包含html代码
警报(test.html())//返回空值

我用这个函数加载数据

函数ajaxLoadContent(元素){
$.ajax({
url:“页面的url”,
键入:“获取”,
超时:5000,
数据类型:“html”,
成功:功能(结果){
//处理者
},
});
返回false;

这是很久以前的事了,但也许你还对它感兴趣

$(String)的intern实现无法构建包含headbody标记的jQuery对象。它将忽略这些标记,并将所有元素向上移动

例如,如果字符串是

<html>
<头部>
<元…>
</head>
<车身>
<div id=“a”/>
</body>
</html>

结果jQuery对象将是一个包含两个元素的数组

[<meta…>,<div id=“a”/>]

要获得类似jQuery对象的正文,请在将正文内容传递给jQuery之前剪切除正文内容以外的所有内容:

body='<div id=“body mock”>'+html.replace(/^[\s\s]*<body.*?>>>>>>><>>>>>>>&lt\s]*$/ig',)+</div;
变量$body=$(body);

现在事情按预期进行了,例如

$body.find('a'))

希望对你有帮助

发表评论