【JavaScript】特定のコメントを要素に置換する
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
本記事では、JavaScriptで特定のコメントを要素に置換する方法をご紹介しています。ドキュメント内のすべてのコメントを要素に置換する方法と、指定した要素内に存在するコメントのみを置換する方法にわけてご紹介しています。
JavaScriptで特定のコメントを要素に置換したいな。良い方法ないかな?
上記の疑問にお答えします。
では、解説していきます。ドキュメント内の特定のコメントを要素に置換する
ドキュメント内にあるすべての特定のコメントを指定した要素に置換します。
下記はドキュメント内に存在するTARGET COMMENTと記載されたコメントをh1
要素に置換するスクリプトです。replace
の第一引数に正規表現でコメントを指定し、マッチした場合に第二引数の要素に置換します。
HTML
<!doctype html> <html> <head></head> <body> <section> <!-- TARGET COMMENT --> </section> <section> <!-- TARGET COMMENT --> </section> </body> </html>
JavaScript
document.body.innerHTML = document.body.innerHTML.replace(/<!-- TARGET COMMENT -->/g, '<h1>REPLACE</h1>');
要素内の特定のコメントを要素に置換する
前項ではドキュメント内に存在するすべてのコメントを置換する方法をご紹介しました。ここではもう少し限定的に、指定した要素内に存在する特定のコメントを要素に置換してみます。
下記はsection
要素内に存在するTARGET COMMENTを要素に置換するスクリプトです。置換方法は前項同様にreplace
を使用します。
HTML
<!doctype html> <html> <head></head> <body> <section> <!-- TARGET COMMENT --> </section> <section> <!-- TARGET COMMENT --> </section> </body> </html>
JavaScript
document.querySelectorAll('section').forEach((el)=>{ el.innerHTML = el.innerHTML.replace(/<!-- TARGET COMMENT -->/, '<h1>REPLACE</h1>'); });
これでドキュメント、要素と任意の範囲内に存在するコメントを指定した要素に置換することが可能となります。
最後に
本記事の内容は、カスタマイズ性が低いシステム上でデザインするケースや、サイト構築後に特定の場所に広告タグを挿入したい場合に便利な方法です。用途は限定的ですが、結構役に立つテクニックですので、頭の片隅にでも置いておいてもらえればと思います。
以上、JavaScriptで特定のコメントを要素に置換する方法のご紹介でした!
JavaScriptを基礎からしっかりと学びたい方へ
下記の参考書がおすすめです。私がJavaScript入門時に購入した書籍で、基礎から応用まで多様なサンプルを用いて解説されています。ページ数は多いですが、内容が伴っているのですらすら読めます。腰を据えて学びたい方に最良の一冊となっています。