【JavaScript】querySelectorでHTML要素を取り出す

querySelectorメソッド基本構文

querySelectorメソッドを使えば任意のHTML要素を検出・取得することができます。

基本的な構文は以下の通りです。

document.querySelector( CSSセレクタ )

querySelectorメソッドを使って要素を取得する

<input type="text" id="list" name="todo" value="赤">

テキストボックスのhtmlです。id属性とname属性があります。

//cssのid属性で指定する場合#を指定
let targets = document.querySelector('#list');

console.log(targets);
//表示結果
//<input type="text" id="list" name="todo">


//value値を取得する場合
let targets = document.querySelector('#list').value;

console.log(targets);
//表示結果
//赤

//cssのname属性で指定する場合[name=]等を指定する場合
let targets = document.querySelector('[name="todo"]')
let targets = document.querySelector('input[name="todo"]'
let targets = document.querySelector('input[type="text"][name="todo"]')

注意点としては、最初に合致したHTML要素を取得した時点でプログラムは終了するという点です。

つまり、複数の要素を取得するには自作のループ処理を作成するか、後述する「querySelectorAll()」を使う必要があります

querySelectorAllメソッド基本構文

引数の指定方法や対象の範囲などquerySelectorと手法は同じです。

document.querySelectorAll( CSSセレクタ )

大きく違うのは、合致するHTML要素をすべて取得することができるところです。

queryselectorは最初に合致した要素だけしか取得できないので、全ての要素が必要な場合はquerySelectorAllを使います。

querySelectorAllメソッドを使って複数の要素を取得する

ページ内の全てのdivやp要素などを取得する方法です。

下記の場合、3つのHTML要素は全てdivなので、返り値には配列として3つのHTML要素が格納されています。

<div id="item1"></div>
<div id="item2"></div>
<div id="item3"></div>
let targets = document.querySelectorAll('div');

console.log(targets);
//表示結果
//<div id="item1"></div>
//<div id="item2"></div>
//<div id="item3"></div>
タイトルとURLをコピーしました