我有以下代码:
if(window.location.hash){
var hash = window.location.hash.substring(1);
}
var hash = window.location.hash.substring(1);
if(hash.length > 0 && hash.search('^y([0-9]+)g([0-9]+)$') >= 0)
{
$('#recs').removeClass('closed');
$('#rec_select_year').val(hash.match('y([0-9]+)')[1]);
$('#rec_g_select').val(hash.match('g([0-9]+)')[1]);
$('html, body').animate({
scrollTop: $('#docs').offset().top + 200
}, 0);
changeDocuments();
}
else
{
changeDocuments();
}
$('.filter').change(function() {
updateDocumentList();
var years = $('#rec_select_year').val();
var groups = $('#rec_g_select').val();
hash = 'y' + years + 'g' + groups;
});
我在从 URL 中删除哈希时遇到困难。我需要将网址更改为此http://codify.org/group/y2018g7
因此,我使用 substring() 方法来删除哈希值,但它会影响 url,并更改为 http://codify.org/group/ ,这基本上删除了 URL 的末尾 ../y2018g7
如何更改哈希以显示 http://codify.org/group/y2018g7 的 URL ?
最佳答案
使用 RegExp
替换 url
中的 #
,如下所示。
var url = "codify.org/group/#y2018g7";
var regx = "/#/g";
var newUrl= url.replace(eval(regx), '');
console.log(newUrl);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
注意:上面的 RegExp 中的 g 修饰符用于全局匹配(查找所有匹配而不是在第一个匹配后停止)
关于javascript - 使用 JS/jQuery 从 URL 中删除哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51853143/