我试图在单击链接后获取哈希值。有什么想法吗?
例如
链接
index.html#needThis
这是我的结果:
index.htmlneedThis
如何删除“index.html”?
$('#myselector').on('click', 'a', function(){
var hash = $(this).attr('href').replace('#', '') //get url
console.log(hash);
})
最佳答案
更新
现代浏览器(不确定它会如何返回)可以直接从 anchor 元素中提取哈希
(所以我添加了#5)
任你选择..
var hash = $(this).attr('href').split('#')[1];
var hash = $(this).attr('href').replace(/^.*?#/,'');
var href = $(this).attr('href'), hash = href.substr(href.indexOf('#')+1);
var hash = $(this).attr('href').match(/#(.*$)/)[1];
var hash = this.hash.substr(1);
更新
刚刚重新审视了这一点,我相信#2 可以改进为
$(this).attr('href').replace(/^.*?(#|$)/,'');
这样,如果不存在哈希值,它将返回空而不是整个 url..
关于jquery - 从url中获取hash值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344221/