HTML DOM Navオブジェクトとは?動的にナビゲーションバーを生成する方法を解説
HTML DOM Navオブジェクトとは
HTML DOM Navオブジェクトは、HTMLドキュメント内の<nav>要素を表すオブジェクトです。<nav>要素は、ページ内の主要なナビゲーションリンクをまとめるために使われるHTML5のセマンティック要素であり、JavaScriptからはdocument.createElement("NAV")で動的に生成したり、既存の要素にアクセスして操作したりすることができます。
ここでは、ユーザーが入力したリンク名をもとに、ナビゲーションバーを動的に作成する実装例を紹介します。
実装例
以下のサンプルコードでは、テキスト入力欄にリンク名を入力してボタンをクリックすると、<nav>要素と<a>要素が生成され、ナビゲーションバーとして画面に追加されます。
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Nav</title>
<style>
* {
padding: 2px;
margin:5px;
}
form {
width:70%;
margin: 0 auto;
text-align: center;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>HTML-DOM-Nav</legend>
<div id="navbar"></div>
<input type="text" id="textSelect" placeholder="link name...">
<input type="button" value="Create Nav Bar" onclick="createNAV()">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var textSelect = document.getElementById("textSelect");
var navDiv = document.getElementById("navbar");
function createNAV() {
if(textSelect.value !== ''){
textSelect.disabled = true;
var navObject = document.createElement("NAV");
navDiv.appendChild(navObject);
var aElement = document.createElement("A");
aElement.setAttribute("href", "#");
var textNode = document.createTextNode(textSelect.value);
aElement.appendChild(textNode);
navObject.appendChild(aElement);
}
else
divDisplay.textContent = 'Please Provide a link name';
}
</script>
</body>
</html>コードの解説
このサンプルの処理の流れは以下のとおりです。
1. 入力値のチェック:createNAV()関数は、まずテキスト入力欄(textSelect)の値が空でないかを判定します。空の場合は「Please Provide a link name(リンク名を入力してください)」というメッセージを表示します。
2. NAV要素の生成:document.createElement("NAV")によって新しい<nav>要素を作成し、id="navbar"のdiv要素に追加します。
3. リンクの追加:続いて<a>要素を生成し、setAttribute()でhref属性に「#」を設定します。入力されたリンク名をcreateTextNode()でテキストノード化し、<a>要素の子ノードとして追加します。
4. 入力欄の無効化:ナビゲーションバー作成後は、重複した操作を防ぐためtextSelect.disabled = trueで入力欄を無効化しています。
出力結果
入力欄が空の状態で「Create Nav Bar」ボタンをクリックした場合 −

入力欄に値が入力された状態で「Create Nav Bar」ボタンをクリックした場合 −

このように、HTML DOM Navオブジェクトを活用すれば、JavaScriptだけでナビゲーションメニューを動的に構築できます。ユーザーの操作に応じて柔軟にUIを生成したい場合に役立つテクニックです。
-
HTML DOM HRオブジェクトとは?作成方法と使い方を解説
HTML DOM の HR オブジェクトは、HTML 文書内の <hr> 要素を表すオブジェクトです。<hr> 要素は、コンテンツの話題やテーマの区切りを視覚的に示す水平線(罫線)として表示されます。JavaScript を使えば、この水平線を動的に生成してページに挿入することも可能です。ここでは、HR オブジェクトの基本的な作成方法と実践的な使用例を紹介します。HRオブジェクトの作成方法(構文)hr オブジェクトを新しく作成するには、document.createElement() メソッドを使用します。構文は以下のとおりです。document.createEleme
-
HTML DOM Ulオブジェクトとは?<ul>要素の操作方法とサンプルコードを解説
HTML DOM の Ul オブジェクトは、HTML の <ul>(順序なしリスト)要素を表すオブジェクトです。JavaScript を使うことで、リストの動的な生成や操作が可能になります。 <ul> 要素の作成方法 新しい <ul> 要素を作成するには、document.createElement() メソッドを使用します。 var ulObject = document.createElement(UL) HTML5で非推奨となったプロパティ ulObject には以下のプロパティが存在しますが、これらは HTML5 ではサポートされていないため注