Javascript 如何将#散列单击添加到元素

Javascript 如何将#散列单击添加到元素,javascript,jquery,url,hash,Javascript,Jquery,Url,Hash,当我在有以下jQuery代码的位置打开页面时: $('#locSlideButton2').click(function() { }); 我想,单击locSlideButton2元素,向url添加一个散列(例如#示例),而不进行任何重定向 我该怎么做?使用普通的老式香草JS: window.location.hash='example'; 有两种方法,一种是使用javascript,您可以访问window.location.hash,另一种是将单击事件绑定到,并防止单击时出现默认值,或者当

当我在有以下jQuery代码的位置打开页面时:

$('#locSlideButton2').click(function() {

});
我想,单击
locSlideButton2
元素,向url添加一个散列(例如#示例),而不进行任何重定向


我该怎么做?

使用普通的老式香草JS:

window.location.hash='example';

有两种方法,一种是使用javascript,您可以访问window.location.hash,另一种是将单击事件绑定到
,并防止单击时出现默认值,或者当页面上升到顶部时认为这很酷,散列应该出现在浏览器地址栏中。

只需像这样用
#locSlideButton2'换行即可

<a href="#yourhash"><button id="locSlideButton2">Click me.</button></a>


这将实现

恢复此线程,现在您可以使用
历史API
,其工作原理与上述相同,但也避免自动滚动到id,从而完全控制要对该散列执行的操作:

window.history.pushState({}, "Example Title", "#example");

a元素中的按钮不是有效的html。请参阅Ok,只需将这段代码复制/粘贴到中并进行检查<代码>测试
您将看到它不是有效的html。