IDセレクタの要素取得
var element = document.getElementById(id);
Creators Clipホームページ制作のための備忘録的サンプルコード集
2021.01.01(更新日:2021.01.06)
なんとなく「ふにゃ」としている構文なのでドットシンタックスが苦手だ。
さらにネイティブで書くと関数名が長い。故によく忘れる。という事でド基礎部分の備忘録。
var element = document.getElementById(id);
var elements = document.getElementsByClassName( class_name );
/* 指定セレクタ内(elem)での絞り込み */
var elements = elem.getElementsByClassName( class_name );
/* 複数指定も可能 */
var elements = document.getElementsByClassName( class_name1 class_name2 );
複数取得するので配列っぽい値が返ってくる。故に取得した値を何かするには「何番目の値か指定する」か「for文、forEach」などでぐるぐる回すかなどの後処理が必要。
var elements = document.getElementsByTagName( tag_name );
複数取得するので配列っぽい値が返ってくる。故に取得した値を何かするには「何番目の値か指定する」か「for文、forEach」などでぐるぐる回すかなどの後処理が必要。
var elements = document.getElementsByName( name );
name属性だからinputなどのフォーム類に使えると思う。これも配列っぽい値で返ってくるようなので、取得した値を何かするには何番目の値か指定する。
※radioやcheckboxは複数になるため?複数の返り値になるのかな。
var element = document.querySelector( selectors );
/* 複数条件も可能 */
var element = document.querySelector( selectors1, selectors2 );
指定するセレクタにはidやclassの他に属性(styleやtypeなど)も指定出来るので便利。
var elements = document.querySelectorAll( selectors );
/* 複数条件も可能 */
var elements = document.querySelectorAll( selectors1, selectors2 );
指定するセレクタにはidやclassの他に属性(styleやtypeなど)も指定出来るので便利。複数取得するので配列っぽい値が返ってくる。故に取得した値を何かするには「何番目の値か指定する」か「for文、forEach」などでぐるぐる回すかなどの後処理が必要。
それぞれの関数で取得出来る値を調べると、HTMLCllectionやNodeList、またその中で動的、静的、生きている、生きていない…などいろいろな表現が出てくる。ざっくり派の自分がまとめるには少々しんどいけれど「JSの操作でDOMが書き換えられると、取得した値も変化する」のが「HTMLCollection(動的 or 生きている)」ってことらしい。NodeListはその逆で変化しない。ただし関数によっては動的なNodeListもある…ややっこしい!
要するに使う関数で取得出来る値の持ち方が違う…ってことなので
console.log( element ); //elementは取得した値
取得した値をブラウザのDeveloper Toolsで確認して何が取得出来ているのかを見るのが、手っ取り早く間違いない。