JavaScriptのalert()でユーロ記号などのHTMLエンティティを表示する方法
はい、可能です。ただし、alert()やdocument.write()ではHTMLエンティティ(€など)はそのまま文字列として表示されてしまうため、代わりにUnicode文字コードを使用します。ユーロ記号のUnicodeは「U+20AC」です。
ポイント
JavaScriptの文字列内でUnicode文字を表現するには、エスケープシーケンス \uXXXX を使います。ユーロ記号の場合は \u20AC と記述します。これにより、アラートウィンドウでも正しくユーロ記号(€)が表示されます。
サンプルコード
以下のコードを実行すると、ユーロ記号を表示できます。
<!DOCTYPE html>
<html>
<body>
<script>
// アラートウィンドウにユーロ記号を表示
alert("\u20AC");
// ページにもユーロ記号を出力
document.write("\u20AC");
</script>
<p>上にユーロ記号(€)が表示されます。</p>
</body>
</html>その他の記号も同じ方法で表示可能
同様の手法を使えば、他の特殊文字も表示できます。例えば以下のようなUnicodeがあります。
- 円記号(¥):
\u00A5 - ポンド記号(£):
\u00A3 - 著作権記号(©):
\u00A9 - 登録商標記号(®):
\u00AE
HTMLエンティティはHTMLドキュメント内でのみ解釈されるため、JavaScriptのダイアログやプレーンテキスト出力ではUnicodeエスケープシーケンスを使うのが確実な方法です。
-
JavaScriptでセレクトボックスの選択に応じて非表示のdivを表示・切り替える方法
Webフォームを作成していると、セレクトボックス(select要素)で特定のオプションが選ばれたときだけ、隠しておいたdiv要素を表示したいという場面によく出くわします。このような動的な表示切り替えは、JavaScriptの「style.display」プロパティを操作することで簡単に実現できます。表示したいタイミングで値を「block」に設定し、非表示にしたいときは「none」に戻すだけでOKです。実装例以下に、セレクトボックスで2番目のオプション(Javascript)が選択されたときに、非表示のdivを表示するサンプルコードを紹介します。<!DOCTYPE html> <
-
JavaScriptでh1のinnerTextを取得する方法|子要素のテキストを除外する
h1タグ内に子要素(spanなど)が含まれている場合、単純にinnerTextを取得すると子要素のテキストまで一緒に取られてしまいます。h1直下のテキストのみを取得したい場合は、childNodesとtextContentを組み合わせることで実現できます。 childNodes[0].textContent; 仕組みの解説 querySelector()で取得したh1要素に対してchildNodesを使うと、その子ノードの一覧(NodeList)が返されます。[0]で最初の子ノード、つまりh1直下のテキストノードにアクセスし、そこからtextContentを取得することで、子要素内のテキストを