从window.location.hash中删除#

时间:2010-07-30 23:14:16

标签: jquery window.location

我有这个简单的脚本:

$(document).ready(function(){

var $yoyo = window.location.hash;

alert($yoyo);

});

但是我需要摆脱#符号,因为我将使用变量来定位div ID。我尝试过使用.remove('#'),但这似乎不起作用。

非常感谢提前!

4 个答案:

答案 0 :(得分:83)

var $yoyo = window.location.hash.substring(1);

这仅仅意味着我们正在采用由字符1(0索引,所以第二个)组成的子字符串。请参阅substring文档。

答案 1 :(得分:15)

var $yoyo = window.location.hash.replace("#", "");

.remove()是一个jQuery dom操作函数。 .replace()是一个本机javascript函数,它将字符串替换为字符串中的另一个字符串。来自W3Schools:

<script type="text/javascript">

var str="Visit Microsoft!";
document.write(str.replace("Microsoft", "W3Schools"));

</script>

答案 2 :(得分:2)

$yoyo.substr(1)

答案 3 :(得分:0)

对于那些可能没有阅读过 Steve Harrison 分享的 lea verou 博客的人来说,一个少 4 个字节并使用更新的 JS 定义的版本是:

let $yoyo = window.location.hash.slice(1)

Slice 是一种数组方法,当给定一个索引时,它返回从起始索引到最后一个索引的值。由于 Javascript 中的字符串被认为是一个字符数组,并且位置哈希将始终以 # 开头或为空字符串,因此这是有效的。

http://lea.verou.me/2011/05/get-your-hash-the-bulletproof-way/