jqueryload()遇到问题

jqueryload()遇到问题,jquery,jquery-load,Jquery,Jquery Load,在我的web应用程序的某些部分中,我使用了ajax登录机制,成功登录后,我将使用以下代码更新topbar,而不是刷新页面 $("#top-bar").load($(location).attr('href')); 上面一行代码更新了topbar,没有任何问题,但是在一些我已经openlayers-maps的页面中,由于上面一行代码,页面结构完全被破坏了。因为我在同一页上使用了jQuery选项卡 经过搜索,我知道脚本中的一些特殊角色可能会导致此类问题。所以很难找到导致此问题的代码行,最后我使用下

在我的web应用程序的某些部分中,我使用了
ajax登录
机制,成功登录后,我将使用以下代码更新
topbar
,而不是刷新页面

$("#top-bar").load($(location).attr('href'));
上面一行代码更新了
topbar
,没有任何问题,但是在一些我已经
openlayers-maps
的页面中,由于上面一行代码,页面结构完全被破坏了。因为我在同一页上使用了
jQuery选项卡

经过搜索,我知道脚本中的一些特殊角色可能会导致此类问题。所以很难找到导致此问题的代码行,最后我使用下面的行来更新
顶栏

$("#top-bar").load($(location).attr('href')+' #top-bar');
这行代码没有任何问题,作为一名开发人员,我想知道上述两个调用之间的区别是什么?

编辑


我的第一个电话甚至有问题,我没有看到页面被破坏的部分。阅读了答案后,我清楚地看到了这一页。无论如何,第二个电话对我来说是完美的。很抱歉提出此类问题给您带来麻烦,感谢所有对此问题做出贡献的人。

第一个示例是在
href
中加载外部页面的整个HTML内容并插入所有内容:

$(“#顶栏”).load($(位置).attr('href')

第二个示例是加载
href
的整个HTML内容,但仅从该页面插入
#顶栏
,而不是整个文档:

$(“#顶栏”).load($(位置).attr('href')+'#顶栏')


第一个示例是在
href
中加载外部页面的整个HTML内容并插入所有内容:

$(“#顶栏”).load($(位置).attr('href')

第二个示例是加载
href
的整个HTML内容,但仅从该页面插入
#顶栏
,而不是整个文档:

$(“#顶栏”).load($(位置).attr('href')+'#顶栏')


为了更好地理解,我稍微更改了ID:

$("#top-bar").load($(location).attr('href'));
这一个加载链接的全部内容并将其附加到#顶栏

此链接仅加载链接的主体并将其附加到#顶栏


我假设它在这两种情况下都能工作,因为您加载的文档中有一个
#顶栏

为了更好地理解,我稍微更改了ID:

$("#top-bar").load($(location).attr('href'));
这一个加载链接的全部内容并将其附加到#顶栏

此链接仅加载链接的主体并将其附加到#顶栏

我假设它在这两种情况下都能工作,因为加载的文档中有一个
#顶栏

当使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前,内容将传递给.html()。这将在脚本块被丢弃之前执行它们。但是,如果使用附加到URL的选择器表达式调用.load(),则会在更新DOM之前剥离脚本,因此不会执行。两种情况的示例如下所示:

在这里,作为文档的一部分加载到#a中的任何JavaScript都将成功执行

$( "#a" ).load( "article.html" );
但是,在以下情况下,要加载到#b中的文档中的脚本块会被剥离,并且不会执行:

$( "#b" ).load( "article.html #target" );
我想这正是您想要的。

来自:

当使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前,内容将传递给.html()。这将在脚本块被丢弃之前执行它们。但是,如果使用附加到URL的选择器表达式调用.load(),则会在更新DOM之前剥离脚本,因此不会执行。两种情况的示例如下所示:

在这里,作为文档的一部分加载到#a中的任何JavaScript都将成功执行

$( "#a" ).load( "article.html" );
但是,在以下情况下,要加载到#b中的文档中的脚本块会被剥离,并且不会执行:

$( "#b" ).load( "article.html #target" );

我想这正是您想要的。

在第一个页面中,您使用加载功能加载所有页面。在第二个例子中,你只是加载了#顶栏。它在文档中被解释,散列被用来定位加载内容中的特定元素,因为开发人员不能读取文档吗@charlietfl:作为一个人,有时我们(我)会错过一些要点,那时SE会有所帮助。换句话说,你永远不会在第一个页面中查找,你用load函数加载所有页面。在第二个例子中,你只是加载了#顶栏。它在文档中被解释,散列被用来定位加载内容中的特定元素,因为开发人员不能读取文档吗@查理:作为一个人类,有时我们(我)会错过一些要点,在那个时候,SE会有所帮助。换句话说,你们从来没有看过