我的代码几乎就在那里, highligting div基于选中的点击a with hash id。
剩下的唯一问题是点击
时页面没有重新加载以下是代码:
<script type="text/javascript">
var idh = window.location.hash
$(document).ready(function(){
$("a"+idh).parents("div:first").addClass("uthevet");
$(".Nytt-over a").click(function() {
var newLoc = this.attr('id');
window.location.hash = newLoc;
location.reload();
});
});
</script>
我看到主题标签在点击时更改,但没有重新加载。 我做错了什么?
页 http://relasjonsledelse.no/Nytt/Nyheter.asp#BiGO (单击正文中的一个标题,这应该更改突出显示的区域)
答案 0 :(得分:3)
您需要在单击处理程序中将this
包装在jQuery对象中。它在调用attr
时失败了:
$(".Nytt-over a").click(function() {
var newLoc = $(this).attr('id');
window.location.hash = newLoc;
location.reload();
});
或者像乔建议的那样使用var newLoc = this.id;
:)
如有疑问,请使用Chrome,IE等提供的F12调试器控制台。
答案 1 :(得分:1)
只需使用以下代码
即可var newLoc = $(this).attr('id');
而不是
var newLoc = this.attr('id');
当然会起作用。当你给'this'时,它不会调用jQuery函数来获取属性id。还有一件事是不需要指定窗口对象并再次调用reload,只需设置为
即可location.hash = 'your link';