我用ajax加载html。我想将结果加载到jquery对象中。我试过了,但它返回空值。我该怎么做?我得到了一个完整的页面,包括doctype、head元素和body元素
var测试=$(结果)//结果包含html代码
警报(test.html())//返回空值
我用这个函数加载数据
函数ajaxLoadContent(元素){
$.ajax({
url:“页面的url”,
键入:“获取”,
超时:5000,
数据类型:“html”,
成功:功能(结果){
//处理者
},
});
返回false;
这是很久以前的事了,但也许你还对它感兴趣
$(String)的intern实现无法构建包含head或body标记的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.*?>;>;>;>;>;>;>;<;>;>;>;>;>;>;>;<\s]*$/ig',)+<;/div;
变量$body=$(body);
现在事情按预期进行了,例如
$body.find('a'))
希望对你有帮助