【JavaScript】idではなくクラス(class)を指定して特定の要素にフォーカスを当てる方法
JavaScriptでは、focus()メソッドを使うことで任意の要素にフォーカスを設定できます。通常は getElementById() でidを指定するのが一般的ですが、querySelectorAll() を組み合わせれば、id宣言ではなくクラス(class)名を指定して特定の要素にフォーカスを当てることも可能です。
サンプルコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<span class="TEXT_FOCUS" tabindex="-1"><center>FOCUS用テキストボックス</center></span><br>
<button id="focusButton">クリックしてフォーカスを取得する</button>
<script>
document.getElementById('focusButton').addEventListener('click', function() {
document.querySelectorAll('.TEXT_FOCUS')[0].focus();
});
</script>
</body>
</html>
コードのポイント解説
tabindex="-1":span要素はデフォルトではフォーカスを受け取れません。この属性を指定することで、タブ移動には含まれないものの、プログラムからフォーカスを設定できるようになります。querySelectorAll('.TEXT_FOCUS')[0]: クラス名「TEXT_FOCUS」を持つ要素をすべて取得し、そのうち最初の要素(インデックス0)を取り出しています。idではなくクラスで対象を特定したい場合に有効な書き方です。focus(): 取得した要素に対してフォーカスを設定するメソッドです。addEventListener('click', ...): ボタンがクリックされたタイミングでフォーカス処理を実行しています。
実行方法
上記のプログラムを実行するには、ファイル名を anyName.html(index.html) として保存し、VS Codeエディター上でそのファイルを右クリックして「Open with Live Server」を選択してください。ブラウザが起動し、ページが表示されます。
出力結果

ボタンをクリックすると、クラス名で指定した要素にフォーカスが移動します。実際の表示は以下のスナップショットのようになります。

-
JavaScriptでIDを指定して要素を削除する方法
JavaScriptでIDを指定して要素を削除するIDを使ってHTML要素を削除するには、remove()メソッドを使用します。このメソッドは、対象のDOM要素をドキュメントから直接取り除くことができる、最もシンプルで直感的な方法です。コード例以下は実際のサンプルコードです。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8> <meta name=viewport content=width=device-width, in
-
JavaScriptでHTMLテーブルの全要素にIF条件を適用する方法
HTMLテーブル内のすべての要素にIF条件(条件分岐)を適用したい場合は、document.querySelectorAll()とforEach()を組み合わせることで簡単に実現できます。querySelectorAll()で対象の要素をまとめて取得し、forEach()で1つずつループ処理を行いながら、各要素に対して条件判定を実行します。サンプルコード以下がそのコード例です。<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8&