Javascript .加载而不是将内容加载到元素中

Javascript .加载而不是将内容加载到元素中,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在使用以下代码: $(function () { $('#result').load('_shared.html body > :not(main)'); }); 但是元素仍然是空的 当我打开\u shared.html并在控制台中运行相同的选择器时: $('body > :not(main)').length 我得到3作为结果 Firefox和Chrome都没有控制台错误 我使用的是本地文件(直接来自文件系统,没有任何Web服务器),但这似乎不是问题所在,因为我运行

我正在使用以下代码:

$(function () {
    $('#result').load('_shared.html body > :not(main)');
});
但是
元素仍然是空的

当我打开
\u shared.html
并在控制台中运行相同的选择器时:

$('body > :not(main)').length
我得到
3
作为结果

Firefox和Chrome都没有控制台错误

我使用的是本地文件(直接来自文件系统,没有任何Web服务器),但这似乎不是问题所在,因为我运行的Chrome带有
--允许从文件访问文件
命令行选项,Chrome将网络请求报告给
\u shared.html

我做错了什么?我该如何解决这个问题

更新

根据Kevin B的回答和评论,我使用了以下内容:

$('#result').load('_shared.html > :not(main, title, link, meta)');

要仅插入
正文的直接子元素,并排除
标题中定义的元素,您的选择器应为
:not(.main)
,因为返回的html中不存在to jQuery
正文

$('#result').load('_shared.html :not(main)');

这应该是
body>:不是(.main)
?我收回我说的话。在jQuery文档中,它声明“第一个空格后面的字符串部分被假定为确定要加载内容的jQuery选择器。”如果它在页面上工作,那么它应该在
load()
调用中工作。如果只执行
$('#result')。load(''u shared.html')?(只是验证它是否会实际加载)。
body
不存在,当字符串转换为html时,浏览器会删除它。发生这种情况的原因是html文档不能包含多个body。html和head标签也是如此。这会插入页面上的所有元素,而不仅仅是
主体的子元素。
。不幸的是,由于我在你问题的评论中提到的,你必须这样处理。更改选择器,以便将其牢记在心。因为我不知道那些“其他元素”是什么,所以我不能建议其他的选择。另外,请看。问题是头部和身体的所有元素都在同一个集合中。你不能说只从身体或头部得到,因为没有身体或头部。它们都在同一个分区中。添加
不会改变这一点。如果我修改参数的选择器部分--
\u shared.html>:not(main)
它只给我直接的子元素,而不是子元素,这就是我在原始注释中提到的。