Location.hash - フラグメント識別子(#〜)を取得、変更する

投稿日: / 更新日:

JavaScriptの、Locationオブジェクトのhashは、フラグメント識別子(#〜)を参照、変更するプロパティです。

説明

Locationオブジェクトのhashプロパティは、フラグメント識別子(#〜)を含みます。アンカーとも呼ばれます。識別子がない場合は、ハッシュ(#)を含まない空の文字列が返ります。

https://syncer.jp/index.html#section-1
URLアドレス欄のフラグメント識別子
URLアドレス欄のフラグメント識別子

新しく値を指定すれば、現在のフラグメント識別子を変更できます。指定する値にハッシュ(#)は含めません。これに伴って、ブラウザのURLアドレス表示部分も変更されます。フラグメント識別子に応じたid属性を持っている要素が存在する場合、その要素の位置までスクロールします。

サンプルコード

https://syncer.jp/index.html#section-1
// フラグメント識別子を取得 ( → "section-1" )
var hash = window.location.hash ;
// フラグメント識別子を変更
window.location.hash = "section-2" ;

デモ

window.location.hashを取得して表示します。URLアドレス欄に反映される挙動を確認したい場合は、お手数ですが、新しいウィンドウを開いてお試し下さい。

構文

string hash = Location.hash
Location.hash = string newHash

返り値

項目説明
hash現在のURLのフラグメント識別子。ない場合はハッシュ(#)を含まない空の文字列。

指定する値

項目説明
newHash新しく設定したいフラグメント識別子。ハッシュ(#)は含まない。

関連項目

外部リンク