我怎样才能replace窗口的URL哈希与另一个响应?

我想用replace方法更改哈希URL(document.location.hash),但它不起作用。

$(function(){ var anchor = document.location.hash; //this returns me a string value like '#categories' $('span').click(function(){ $(window).attr('url').replace(anchor,'#food'); //try to change current url.hash '#categories' //with another string, I stucked here. }); }); 

我不想更改/刷新页面,我只想replaceURL没有任何反应。

注意:我不想用href =“#food”解决scheme来解决这个问题。

使用locationwindow.location而不是document.location因为后者是非标准的。

 window.location.hash = '#food'; 

这将用您为其设置的值replaceURL的哈希值。

参考

你可能更喜欢这个问题的答案。

history.replaceState()不同的是,您不会滚动到锚点,只能在导航栏中将其replace。 它受到所有主stream浏览器, 源代码的支持。

 history.replaceState(undefined, undefined, "#hash_value")