JavaScript - getElementsByTagName()の使い方
JavaScriptで「要素名(タグ名)」から要素を取得する場合は、 getElementsByTagName()メソッドを使います。
getElementById()と違って、複数の要素を取得する可能性があるため 「Elements」と複数形になっていることに注意してください。
戻り値はHTMLCollectionオブジェクトです。
getElementsByTagName()の構文
document.getElementsByTagName('要素名')
要素名 = タグ名
引数に「'*'」を指定すると、すべての要素を取得できます。
サンプルコード
次のサンプルコードでは、p要素のテキストコンテンツをコンソールに表示します。
HTML
<p>コンテンツ1</p>
<p>コンテンツ2</p>
<p>コンテンツ3</p>
JavaScript
var elems = document.getElementsByTagName('p');
for (var i = 0; i < elems.length; i++){
console.log(elems[i].textContent);
}
// 実行結果
コンテンツ1
コンテンツ2
コンテンツ3
該当要素がない場合
先程のHTMLを使って、存在しない要素(a要素)を指定してみます。
var elems = document.getElementsByTagName('a');
console.log(elems); // HTMLCollection []
console.log(elems.length); // 0
「HTMLCollection []」と表示されているように、 該当要素がない場合は、空のHTMLCollectionオブジェクトを返します。
lengthプロパティの値は0となっています。
getElementById()は該当id名がない場合は、「null」を返しますが、
getElementsByTagName()は該当要素がない場合でもHTMLCollectionオブジェクトを返します。