JavaScriptでノードを取得するメソッドには次のものがある。
- getElementsById
- getElementsByTagName
- getElementsByClassName
- getElementsByName
上記のメソッド以外にquerySelectorメソッドが存在することを知ったので、忘れないために記録しておく。上記4つのメソッドを一つにしたようなメソッドである。
// 以下の二つは同じ要素を取得する
var nl00 = document.getElementsByTagName('div');
var nl01 = document.querySelectorAll('div');
alert(nl00[0] == nl01[0]); // true
alert(nl00[1] == nl01[1]); // true
:
:
<div id="result"></div>
-------------------------------------------------------------------------
// 以下の二つは同じ要素を取得する・・・ID
var elm00 = document.getElementById('target');
var elm01 = document.querySelector('#target');
alert(elm00 == elm01); // true
:
:
<a href="http://www.wings.msn.to/" id="target">サーバサイド技術の学び舎 -WINGS</a><br>
<a href="http://www.web-deli.com/" id="target">WebDeli</a><br>
-------------------------------------------------------------------------
// 以下の二つは同じ要素を取得する・・・class
var elm00 = document.getElementsClassName('my');
var elm01 = document.querySelector('.my');
alert(elm00 == elm01); // true
<a href="http://www.wings.msn.to/" class="my">サーバサイド技術の学び舎 -WINGS</a><br>
<a href="http://www.web-deli.com/" class="my">WebDeli</a><br>
------------------------------------------------------------------------
// 以下の二つは同じ要素を取得する
var nl02 = document.getElementsByName('hoge');
var nl03 = document.querySelectorAll('*[name="hoge"]');
alert(nl02[0] == nl03[0]); // true
alert(nl02[1] == nl03[1]); // true
:
:
<a href="http://www.wings.msn.to/" name="hoge">サーバサイド技術の学び舎 -WINGS</a><br>
<a href="http://www.web-deli.com/" name="hoge">WebDeli</a><br>