使用Javascript重新加载哈希值的页面

时间:2014-09-18 10:05:17

标签: javascript jquery

我的代码几乎就在那里, 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 (单击正文中的一个标题,这应该更改突出显示的区域)

2 个答案:

答案 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';