我很难获得任何jquery代码。我尝试了一些例子,没有人能为我工作。下面是一个示例,它在C盘中的chrome中有效,但不是来自Web上的Dropbox,在ie9中也不起作用。
当它从我的C驱动器处理chrome时,它会开始显示所有选项卡,而不是按照预期显示选项卡A.然后在单击其中一个链接后,它只显示相应的选项卡。
我的最终目标是修改我的网站,以便每次点击菜单项时重新加载整个页面都不会闪烁。
<!-- found at: http://jsfiddle.net/uFgtS/ -->
<script type='text/javascript' src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type='text/javascript'>
$(window).on('hashchange', function() {
$('div.tab').hide();
$(location.hash).show();
});
$('a.hash').on('click', function(e){
e.preventDefault();
location.hash = $(this).data('hash');
});
</script>
<a href="#A" data-hash="A" class="hash">A Link</a>
<a href="#B" data-hash="B" class="hash">B Link</a>
<a href="#C" data-hash="C" class="hash">C Link</a>
<div id="A" class="tab">Tab A</div>
<div id="B" class="tab hidden">Tab B</div>
<div id="C" class="tab hidden">Tab C</div>
答案 0 :(得分:2)
你忘了:
$(document).ready(function() {
// your code goes here
});
所以当将点击处理程序附加到a.hash
时,DOM中没有这样的元素。
答案 1 :(得分:1)
如果将jQuery放在它影响的元素之前,则需要将其包装在
中$(document).ready(function() {
// Code to be run once the document is ready
}
或者,将脚本放在文档正文的最末端,以使$(document).ready()
多余。