【发布时间】:2010-07-01 07:31:54
【问题描述】:
我一直在尝试一种使用 jQuery 设置网站的新方法,以便在单击链接时动态获取内容。这是jQuery代码:
$(document).ready(function() {
var content_loader = $('#content-loader');
$('#nav ul li a').click(function () {
$(this).closest('ul').find('li.active').removeClass('active');
$(this).parent().addClass('active');
content_loader.load('content/' + $(this).attr('data-name') + '.html');
});
content_loader.load('content/home.html');
});
我一直这样做,因为我的网站背景中有一首歌曲,我想一直播放,而不是每次点击链接时都重新开始。
除了我遇到的两个问题之外,整个事情都很好。
- 假设我点击了联系我们链接。我现在会在网址末尾看到#contactus。如果我随后刷新页面,我会再次看到我的主页内容。
- 如果我尝试将某人链接到我的联系我们页面,也会出现同样的问题。
我想知道 jQuery 是否能以某种方式找出 url 中 # 符号之后的内容。在这种情况下,我可以更改 jQuery 代码的最后一行以始终加载它而不是 home 数据。
【问题讨论】:
-
您在标记上添加了无效属性?.. 不是 gud.. ;)
-
我同意 Reigel 的观点。如果您想将一些任意数据存储到元素中,请尝试使用 .data()
-
谢谢,我摆脱了那些数据属性,虽然我知道它们是 HTML5 的一部分:ejohn.org/blog/html-5-data-attributes