有人可以解释为什么我的锚标签坏了: http://jsfiddle.net/7k9s1pg7/7/embedded/result/#michaelschumacher
在这个例子中,页面应该锚定到迈克尔·舒马赫'。但是,它没有。这是为什么?
HTML:
<dl class="accordion">
<dt><a href="" class="container heading">Soccer</a></dt>
<dd id="soccer">
<div id="manutd">
<p>Man Utd</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<div id="celtic">
<p>Celtic</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
</dd>
<dt><a href="" class="container heading">Formula 1</a></dt>
<dd id="formula1">
<div id="lewishamilton">
<p>Lewis Hamilton</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<div id="michaelschumacher">
<p>Michael Schumacher</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
</dd>
</dl>
jQuery的:
(function($) {
var allPanels = $('.accordion > dd').hide();
var allLinks = $('a.heading');
$('.accordion > dt > a').click(function() {
allPanels.slideUp();
allLinks.removeClass('active');
if ($(this).parent().next().is(":visible")) return false;
$(this).parent().next().slideDown();
$(this).addClass('active');
return false;
});
var hash = 'michaelschumacher';
if (hash) {
var el = $('#' + hash);
el.parent().slideDown();
el.parent().prev().find('a').addClass('active');
}
})(jQuery);
答案 0 :(得分:0)
在结束元素解决我的问题之前运行它。
真的很奇怪它是如何在本地工作但不在本地WordPress上 - 使用完全相同的代码:-O
<script>
if (location.hash) {
location.href = location.hash;
}
</script>