javascript - jquery load() 特定 div 不起作用

标签 javascript jquery html

以下是相关 HTML 部分以及与之相关的 Javascript:

HTML优先:

<div id="menu">
<ul>
<li><a href="content.html#diviwant">click</a></li>
</ul>
</div>

Javascript 是这样的:

$("#menu a").click(function(){
var link=encodeURI($(this).attr("href"));
$("#divtobeloadedwith").load(link);
return false;
});

content.html结构:

<div id="wrapper">
<div id="diviwant">stuff</div>
<div id="dividontwant">stuff</div>
</div>

点击链接后,它会加载所有内容,而不是仅加载特定的 div。

最佳答案

从根本上来说,问题是你想要两种不同的东西:

  1. 在没有 Javascript 的情况下运行时,您需要使用链接 content.html#diviwant,因为它将加载页面 content.html,然后跳转到ID 为 diviwant 的元素。

  2. 使用 Javascript 运行时,您希望将 content.html #diviwant 传递给 jQuery 的 load() 方法,因为这告诉 jQuery 仅加载片段目标页面的 id diviwant

我可能会使用 content.html#diviwant 作为链接,如您所知,然后在 jQuery 中解释它,如下所示:

$("#divtobeloadedwith").load(link.replace('#', ' #'));

...为 load() 添加必要的空间。

关于javascript - jquery load() 特定 div 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7355665/

相关文章:

JavaScript 滚动算法

javascript - 如何在 for 循环中使用 fetch,等待结果然后 console.log

php - select onchange中查询数据库

IE 中的 jQuery 淡入、淡出效果

javascript - 如何在 HTML 中制作 anchor 标记下拉列表

html - 哪种 CSS 样式对元素的影响最小?

javascript - 引用错误 : Joomla is not defined

javascript - 如何删除地址栏中的弹出窗口阻止程序

html - 我如何在不折叠的情况下使导航项向右移动

javascript - 如何渲染 Ext.Viewport 上方的内容