【发布时间】:2014-01-31 16:55:16
【问题描述】:
我的页面上有许多 div,默认情况下它们是隐藏的。可以通过链接选择作业(例如“#job8”)。我正在尝试在我的脚本中使用 hashchange 来检查特定哈希的 URL,然后显示适当的 div。
这是一个示例 div
<div class="job-details" id="job8" data-jobid="8">
<p>Job 8</p>
</div>
这是我的脚本。
$(document).ready(function(){
$('.job-details').hide();
});
$(window).bind('hashchange', function() {
if (location.hash.substring(0,4) == "#job"){
var jobID = location.hash.substring(0);
$('.job-details').hide();
$('[data-jobid="' + jobID + '"]').show();
}
});
【问题讨论】:
-
谢谢 Palpatim、Ishan Jain 和 Til。将 jobID 中的子字符串值更改为 4 可以正常工作,因为它现在匹配 div 的 jobid 数据属性。选定的 div 现在将显示,但只有在页面加载后,我需要它作为永久链接工作,以便可以保存或添加书签。在加载的页面上,调整数字会更改 div。但是,使用相同的数字重新输入会再次隐藏 div。我尝试将 hashchange 中的 hide() 更改为:
$('.job-details:not([data-jobid="' + jobID + '"]').hide();
标签: javascript jquery html css hashchange