前一阵子,但也许您仍然对此感兴趣。
的内部实现
$(String)无法构建包含
head或
body标签的jQuery对象。它将简单地忽略它们并将所有元素向上移动。
因此,如果您的字符串例如
<html> <head> <meta ...> </head> <body> <div id="a"/> </body></html>
生成的jQuery对象将是两个元素的数组
[<meta ...>, <div id="a" />]
为了获得一个类似
bodyjQuery的对象,在将其传递给jQuery之前,请剪切除主体内容以外的所有内容:
body = '<div id="body-mock">' + html.replace(/^[sS]*<body.*?>|</body>[sS]*$/ig, '') + '</div>';var $body = $(body);
现在事情按预期工作了。例如
$body.find('#a')希望有帮助。



