HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOMのLocation hashプロパティとは?使い方をサンプルコード付きで解説

Location hashプロパティとは?

Location hashプロパティは、HTML DOMにおいて現在のURLの「アンカー部分」(フラグメント識別子)を取得・設定するためのプロパティです。値を設定すると、先頭に「#」が自動的に付加されたうえでURLに追加されます。

たとえば「https://www.example.com/#section1」というURLの場合、location.hashは「#section1」を返します。

構文

基本の書き方は以下のとおりです。

hashプロパティの値を取得する場合

location.hash

hashプロパティに値を設定する場合

location.hash = '文字列'

サンプルコード

続いて、Location hashプロパティを使った具体的な実装例を確認してみましょう。

<!DOCTYPE html>
<html>
<head>
<title>Location hash</title>
<style>
    form {
        width:70%;
        margin: 0 auto;
        text-align: center;
    }
    * {
        padding: 2px;
        margin:5px;
    }
    input[type="button"] {
        border-radius: 10px;
    }
</style>
</head>
<body>
<form>
<fieldset>
<legend>Location-hash</legend>
<label for="urlSelect">Current URL:</label>
<input type="url" size="27" id="urlSelect" value="https://www.example.com/">
<input type="text" id="textSelect" placeholder="hash value...">
<input type="button" onclick="setHashValue()" value="Go To URL">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
    var divDisplay = document.getElementById("divDisplay");
    var urlSelect = document.getElementById("urlSelect");
    var textSelect = document.getElementById("textSelect");
    function setHashValue() {
        if(textSelect.value !== ''){
            location.hash = textSelect.value;
            urlSelect.value += location.hash;
            divDisplay.textContent = 'Page loaded. Current URL active';
        } else {
            divDisplay.textContent = 'Please provide a hash value';
        }
    }
</script>
</body>
</html>

実行結果

上記のコードを実行すると、以下のように表示されます。

「Go To URL」ボタンをクリックする前 −

HTML DOMのLocation hashプロパティとは?使い方をサンプルコード付きで解説

ハッシュ値を入力して「Go To URL」ボタンをクリックした後 −

HTML DOMのLocation hashプロパティとは?使い方をサンプルコード付きで解説

押さえておきたいポイント

  • 値を取得するときは「#」を含む文字列が返される(ハッシュが存在しない場合は空文字列)
  • 値を設定するときは「#」を自分で付ける必要がない(自動的に付加される)
  • hashを変更してもページは再読み込みされないが、ブラウザの履歴には新しいエントリが追加される
  • 同一ページ内の特定セクションへのジャンプや、SPA(シングルページアプリケーション)のルーティング処理にも活用できる
  1. HTML DOMのnodeValueプロパティとは?ノード値の取得・設定方法を実例付きで解説

    HTML DOMのnodeValueプロパティは、ノードの値に対応する文字列を取得または設定するために使用されます。DOM操作において、テキストノードや属性ノードの中身を扱う際に非常に便利な基本プロパティです。構文(値の取得)ノードの値を文字列として取得する場合は、以下のように記述します。Node.nodeValue取得される戻り値は、ノードの種類によって以下のように異なります。ドキュメントノードおよび要素ノード:「null」が返される属性ノード:その属性の「value」の値が返されるテキストノードおよびコメントノード:それぞれの内容(テキストやコメント文)が返される構文(値の設定)nodeV

  2. HTML DOM valueプロパティとは?属性値の取得方法とサンプルコードを解説

    HTML DOMのvalueプロパティは、要素が持つ属性(attribute)の値に対応する文字列を返すプロパティです。JavaScriptからHTML要素の属性値を読み取りたい場合に活用できます。基本構文valueプロパティの基本的な書き方は以下の通りです。elementAttribute.value対象となる属性オブジェクトに対して.valueを指定することで、その属性が保持している値を文字列として取得できます。実装例ここでは、画像タグ(<img>)のsrc属性の値をボタンクリック時に取得して画面に表示するサンプルを紹介します。<!DOCTYPE html> <