【JavaScript】headを取得して要素を追加する
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
本記事では、JavaScriptでheadを取得して要素を追加する方法をご紹介しています。
JavaScriptでhead要素を取得して新しい要素を追加するにはどうすればいいんだろう?
上記の疑問にお答えします。
では、解説していきます。head要素を取得する
JavaScriptでhead
要素を取得する方法はいくつかありますが、代表的なものにdocument
のhead
プロパティがあります。document.head
は、現在開いているドキュメントのhead
要素を返すプロパティです。
構文は下記の通りです。
const head = document.head;
これでドキュメントのhead
要素を取得することができます。
上記ではdocument.head
を使用しましたが、もちろんquerySelector
でhead
要素を取得することも可能です。
const head = document.querySelector('head');
コーディング規約やソースにあわせて取得方法を選択していただければと思います。
head要素に新しい要素を追加する
head
要素が取得できましたので、取得したhead
要素に新しい要素を追加します。本記事では挿入位置をある程度指定することができるinsertAdjacentHTML
を使用します。使い方は下記でご紹介していますので、参考にしていただければ幸いです。
今回はhead
要素内に新しい要素を追加したいのでafterBegin
とbeforeEnd
の位置に追加します。 afterBegin
は最初の子要素の前、 beforeEnd
は最後の子要素の後に新しい要素を追加します。
//head要素を取得 const head = document.head; //最初の子要素の前に<title>を追加 head.insertAdjacentHTML('afterBegin', '<title>afterBegin</title>'); //最後の子要素の後に<title>を追加 head.insertAdjacentHTML('beforeEnd', '<title>beforeEnd</title>');
上記のスクリプトを実行するとhead
要素の下記の位置にtitle
要素が追加されます。
<head> <title>afterBegin</title> <meta charset="UTF-8"> <meta name="description" content=""> <title>beforeEnd</title> </head>
以上の方法でJavaScriptでhead
要素を取得して新しい要素を追加することができます。
最後に
これまではdocument.write
を使って指定位置に要素を追加することができましたが、document.write
は現在は非推奨のメソッドになっています。今後要素の追加する場合にはinsertAdjacentHTML
を代替として使うようにしていただいて、制作済みのサイトでdocument.write
を使用している場合は更新のタイミング等でinsertAdjacentHTML
に置き換えていただければと思います。
以上、JavaScriptでheadを取得して要素を追加する方法のご紹介でした!
JavaScriptを基礎からしっかりと学びたい方へ
下記の参考書がおすすめです。私がJavaScript入門時に購入した書籍で、基礎から応用まで多様なサンプルを用いて解説されています。ページ数は多いですが、内容が伴っているのですらすら読めます。腰を据えて学びたい方に最良の一冊となっています。