jQueryを使わずにHTML上の値を操作する方法

Pocket

私がJavaScriptを学んだときは、HTML上の値を取得するときはgetElementByIdなどを使っていました。
jQueryを使うとCSSと同じセレクタが扱えるようになりました。
そして今はjQueryを使わずにセレクタが扱えます。
今回はJavaScriptでjQueryを使わずにHTML上の値を取得、設定する方法をまとめます。


目次


querySelectorで一つ取得

jQueryの便利な点の一つはオブジェクトを指定する際にCSSのセレクタが使えたことですが、querySelectorを使うと同様にCSSのセレクタが使えます。
idであれば#idとするとオブジェクトを特定できます。

<input type="text" id="nezumi" value="ねずみ">
<textarea id="ushi">うし</textarea>
<div id="tora">とら</div>
part=document.querySelector("#nezumi");
console.log(part.value);

part=document.querySelector("#ushi");
console.log(part.value);

part=document.querySelector("#tora");
console.log(part.innerText);

querySelectorAllで全て取得

#idであれば対象は一つだけですが tagや.classだと複数になります。
querySelectorだと先頭の一つが取得できます。
querySelectorAllにすると対象全てが取得できます。
複数取得した場合はforEachで対象を一つずつ処理できます。

//querySelectorだと、対象が複数ある場合、先頭のみ取得。
part=document.querySelector("div");
console.log(part.innerText);

//querySelectorAllだと、全て取得される。
parts=document.querySelectorAll("div");
parts.forEach(function(part){
  console.log(part.innerText);
});

ラジオとチェックボックスで取得

radioとcheckboxはチェックがついているものを取得します。
多くの場合、name属性があるので[name=name]:checkedを使うとよいです。

ラジオ

<input type="radio" name="seiza" value="おうし">おうし
<input type="radio" name="seiza" value="さそり" checked>さそり
part=document.querySelector("[name=seiza]:checked");
console.log(part.value);

チェックボックス

<input type="checkbox" name="hoi" value="ひがし">ひがし
<input type="checkbox" name="hoi" value="にし" checked>にし
<input type="checkbox" name="hoi" value="みなみ">みなみ
<input type="checkbox" name="hoi" value="きた" checked>きた
parts=document.querySelectorAll("[name=hoi]:checked");
parts.forEach(function(part){
  console.log(part.value);
})

値の取得(ゲット)

値の取得方法はタグによって異なります。
HTMLが使える箇所はinnerText、それ以外はvalueでよさそうです。

div : innerText
input : value
textarea : value

値の設定(セット)

値のセットは値の取得と同じです。
テキストでなくHTMLをセットする場合はinnerHTMLとします。HTMLはすべて大文字であることに注意してください。

<div id="one"></div>
<div id="two"></div>
<input type="text" id="three" value="さんばんめ">
<textarea id="four" value="よんばんめ"></textarea>
document.querySelector("#one").innerText="いちばんめ";
document.querySelector("#two").innerHTML="<a href=''>にばんめ</a>";
document.querySelector("#three").value="さんばんめ";
document.querySelector("#four").value="よばんめ";

[ 2024年2月3日 | カテゴリー: JavaScript | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報