我有这段简单的脚本:
$(document).ready(function(){
var $yoyo = window.location.hash;
alert($yoyo);
});
但我需要去掉#符号,因为我将使用变量来定位div id。 我尝试使用.remove('#'),但似乎不起作用。
非常感谢!
我有这段简单的脚本:
$(document).ready(function(){
var $yoyo = window.location.hash;
alert($yoyo);
});
但我需要去掉#符号,因为我将使用变量来定位div id。 我尝试使用.remove('#'),但似乎不起作用。
非常感谢!
var $yoyo = window.location.hash.substring(1);
这意味着我们正在获取从第一个字符(索引为0,因此是第二个)开始的子字符串。请参阅子字符串文档。
window.location.hash.replace(/^#/, "")
。 - Christian Davénwindow.location.hash
始终会在前面有一个哈希或为空,而 ''.substring(1) === ''
,因此我认为该解决方案非常健壮。不过,我认为你的更易读。 (另请参见http://lea.verou.me/2011/05/get-your-hash-the-bulletproof-way/) - Steve Harrisonvar $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>
$yoyo.substr(1)
对于那些可能没有阅读Steve Harrison分享的lea verou博客的人,使用更新的JS定义和少4个字节的版本如下:
let $yoyo = window.location.hash.slice(1)