JavaScriptで要素を取得する方法をいくつか試してみます。
サンプルコード
id,class,タグ,nameから要素を取得してみます。
HTML
<div id="sample1">#sample1</div> <ul> <li class="sample2">.sample2の1番目</li> <li class="sample2">.sample2の2番目</li> <li>classなし</li> </ul> <input type="checkbox" name="sample4" value="sample4-1">sample4-1 <input type="checkbox" name="sample4" value="sample4-2">sample4-2 <input type="checkbox" name="sample4" value="sample4-3">sample4-3
JavaScript
// idから要素を取得 var sample1 = document.getElementById('sample1'); console.log(sample1); // classから要素を取得 var sample2 = document.getElementsByClassName('sample2'); console.log(sample2); console.log(sample2[0]); // タグから要素を取得 var sample3 = document.getElementsByTagName('li'); console.log(sample3); console.log(sample3[2]); // name属性から要素を取得 var sample4 = document.getElementsByName('sample4'); console.log(sample4); console.log(sample4[0]); // CSSセレクタでマッチする最初の要素を取得 var sample5 = document.querySelector('ul li.sample2'); console.log(sample5); // CSSセレクタでマッチする全ての要素を取得 var sample6 = document.querySelectorAll('ul li.sample2'); console.log(sample6); console.log(sample6[1]);
getElementById(id名) | idを指定して要素を取得する。 ページ内に1つしかないので「element」になる。 |
---|---|
getElementsByClassName(class名) | classを指定して要素を取得する。 ページ内に複数存在し得るので「elements」と複数形になる。 絞り込む場合、「getElementsByClassName(class名)[0]」のように添え字でDOM要素の何番目かを指定する。 対応ブラウザはIE9から。 |
getElementsByTagName(タグ名) | タグを指定して要素を取得する。 ページ内に複数存在し得るので「elements」と複数形になる。 絞り込む場合、「getElementsByTagName(タグ名)[0]」のように添え字でDOM要素の何番目かを指定する。 |
getElementsByName(name属性) | nameを指定して要素を取得する。 ページ内に複数存在し得るので「elements」と複数形になる。 絞り込む場合、「getElementsByName(name属性)[0]」のように添え字でDOM要素の何番目かを指定する。 |
querySelector(CSSセレクタ) | CSSセレクタを指定してマッチする最初の要素を取得する。 IE8では一部未対応。 |
querySelectorAll(CSSセレクタ) | CSSセレクタを指定してマッチする全ての要素を取得する。 絞り込む場合、「querySelectorAll(CSSセレクタ)[0]」のように添え字でDOM要素の何番目かを指定する。 IE8では一部未対応。 |
コメントが承認されるまで時間がかかります。