35

私はこの簡単なスクリプトを持っています:

$(document).ready(function(){

var $yoyo = window.location.hash;

alert($yoyo);

});

ただし、変数を使用してdiv idを見つけるため、#記号を削除する必要があります。.remove('#')を使用してみましたが、機能していないようです。

よろしくお願いします!

4

4 に答える 4

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

これは単に、文字1(0インデックス、つまり2番目)で構成される部分文字列を取得していることを意味します。サブストリングのドキュメントを参照してください。

于 2010-07-30T23:18:09.280 に答える
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>
于 2010-07-30T23:18:10.573 に答える
3
$yoyo.substr(1)
于 2010-07-30T23:18:20.780 に答える
0

SteveHarrisonが共有しているleaverouブログを読んだことがない人にとっては、バイト数が4バイト少なく、新しいJS定義を使用しているバージョンは次のようになります。

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

スライスは、1つのインデックスが指定されると、開始インデックスから最後のインデックスまでの値を返す配列メソッドです。Javascriptの文字列は文字の配列と見なされ、ロケーションハッシュには常に開始#が含まれるか、空の文字列になるため、これは機能します。

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

于 2021-08-06T14:18:27.840 に答える