DOM API
ここで紹介するDOM APIとは、JavaScriptからDOMを操作するためのものです。 DOM APIを用いて、DOM要素の取得・作成・追加などを行いうことができます。
Document
document.getElementsByTagName
指定したタグの要素をDOMから全て取得します。
取得した結果は配列ではなくHTMLCollection
というオブジェクトであることに注意。
const h1Collection = document.getElementsByTagName("h1")
console.log(h1Collection)
document.getElementsByClassName
指定したタグの要素をDOMから全て取得します。
取得した結果は配列ではなくHTMLCollection
というオブジェクトであることに注意。
const hogeCollection = document.getElementsByClassName("hoge")
console.log(hogeCollection)
document.getElementById
指定したタグの要素をDOMから1つ取得します。
関数名が単数系であることに注意。
idの意味から1つのみ取得することは自明。
const fuga = document.getElementById("fuga")
console.log(fuga)
document.createElement
指定したタグのHTML要素(後述のElement)を作ります。
const p = document.createElement('p')
console.log(p)
ちなみに、これはただ要素を作成して変数に入れただけなので、
実際に表示させるには後々紹介する Element.append()
などと合わせて使う必要があります。
Element
Elementの主な機能と使い方を説明します。
Element.children
その要素の子要素が入っている。書き換えできない。
HTMLCollectionという特殊なオブジェクトであり、配列ではないことに注意が必要。
Element.textContent
その要素の持つテキスト(文字列)が入っている。書き換え可能。
Element.append()
自身の子要素のリスト(children
)に対し引数に渡したElement
または文字列を末尾追加する。
Element.remove()
要素を削除します。
EventTarget.addEventListener()
EventTarget
となっている通り正確にはElement
の機能ではない。ただしElement
はEventTarget
の一種なので使うことができる。なのでここで紹介しておく。
イベントの種類と実行させたい関数を渡すことで、その種類のイベントが発生した際にその関数を実行することができる。
const button = document.getElementById('button')
button.addEventListener('click', function() {
alert('hello! I get click event!')
})
value
inputやtextareaなどの一部のElement
に存在するプロパティ。
入力した文字列などが入っている。
let textarea = document.getElementById("input")
console.log(textarea.value)