从url中删除#标签

时间:2014-04-26 14:05:44

标签: javascript jquery html url hashtag

我希望在使用哈希标记后将其从网址中删除。 例如,当我点击下面的链接时:

<a href="#btnq1"><button type="button" name="" value="" id="btnq1">Just a button</button></a>

我希望在此链接上的操作发生后立即删除页面URL中显示的哈希标记#btnq1。 我尝试了下面的jquery代码没有成功:

$('#btnq1').click(function(event){
   event.preventDefault();
   // your action
});

即使这样可行,那么如何实现它以适用于添加到URL的每个哈希标记? 我想用javascript解决它。

2 个答案:

答案 0 :(得分:7)

你可以尝试:

$(window).on('hashchange', function(e){
    history.replaceState ("", document.title, e.originalEvent.oldURL);
});

答案 1 :(得分:0)

首先在您希望此行为的标记中添加一个类,或者添加一个html 5数据属性。然后你的链接就变成了;

<a href="#btnq1" class="remove-hash"><button>Button</button></a>

$('body').on('click', ".remove-hash", function(e){
    $(this).removeAttr('href');
});