0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Document、NodeList、HTMLElementオブジェクト JavaScript

Posted at

Documentオブジェクト

windowオブジェクトのプロパティの1つ
HTML要素を抽象化したもので
タグや属性にアクセスするプロパティを持つ。

DOM:Document Object Model
HTMLの文書構造をオブジェクトの集まりとしてみなす考え方のこと

主要プロパティ

head要素を返す

document.head

body要素を返す

document.body

ページのタイトルを返す

document.title

ページのURLを返す

document.URL

現在のページのひとつ前のURLを返す

document.referrer

クッキーの内容を返す

document.cookie

例)

console.log(document.head);
// -> <head>...</head>

console.log(document.URL);
// -> https://qiita.com/

主要メソッド

文書全体から引数で指定したCSSセレクターに
一致する最初の要素を取得して返す。
戻り値はNodeListオブジェクト

document.querySelector("CSSセレクター")

一致するすべての要素を取得して返す
戻り値はNodeListオブジェクト

document.querySelectorAll("CSSセレクター")

例)
最初のh1要素を変数hに取得

let h=document.querySelector("h1");

HTMLで指定したID属性comTotal要素のテキストに
getTotalメソッドで取得した値を入れる
※ID属性は#をつける

document.querySelector("#comTotal").innerText=getTotal(comCards);

NodeListオブジェクト

DOMのオブジェクトを配列のようにまとめたもの
ノードの個数を表すlengthプロパティがある。

例)
aタグの要素すべて(リンク)をlinksに取得

let links=document.querySelectorAll("a");

ノードをすべて出力

for(let i=0;i<links.length;i++){
	console.log(links.item(i));
}

配列と同じで要素番号は0からなので
0番目から、linksの要素数まで繰り返すことで
要素すべてを出力できる。
itemメソッドに引数で番号を指定してリストの中身が取り出せる。

HTMLElementオブジェクト

Element:要素

主要プロパティ

要素のID属性を返す・設定する

id

要素内のHTMLを文字列で返す・設定する

innerHTML

要素のタグを含むHTMLを文字列で返す・設定する

outerHTML

要素内のテキストを文字列で返す・設定する

innnerText

要素内部の高さ

clientHeight

要素内部の幅

clientWidth

直前の要素を返す

nextElementSibling

直後の要素を返す
previous:先の
Sibling:兄弟

previousElementSibling

要素の最初の子要素を返す

firstElementChild

要素の最後の子要素を返す

lastElementChild

例)tableの要素を変数tbに入れる

let tb=document.querySelector("table");

①プロパティfirstElementChildにより
tableの最初の要素を返す

console.log(tb.firstElementChild);
// -> <tbody>...</tbody>

tbody:table本体の要素のこと

②プロパティinnerHTMLにより
table内のHTMLを返す

console.log(tb.innerHTML);
// -> <tbody><tr>省略</tr></tbody>

③プロパティouterHTMLにより
tableタグ含むtable内のHTMLを返す

console.log(tb.outerHTML);
// -> <table><tbody><tr>省略</tr></tbody><table>

④innerTextを用いてID属性myTotalの要素に10をセット
セットする値が文字列の時は""で囲む

document.querySelector("#myTotal").innerText=10;

主要メソッド

属性keyの値を返す

getAttribute(key)

属性keyに値valueを設定

setAttribute(key,value)

子孫ノードから、引数で指定したCSSセレクタに一致する
最初の要素を取得して返す

querySelector(selector)

子孫ノードから、引数で指定したCSSセレクタに一致する
すべての要素を取得して返す

querySelectorAll(selector)

先祖ノードから引数に指定したCSSセレクタに該当する
最も近い位置にある要素を返す

closest(selector)

引数に指定したノードを子ノードの最後に追加

appendChild(node)

引数に指定したノードを直前に指定する

insertBefore(node)

引数に指定したノードを子ノードから削除

removeChild(node)

要素のイベントを扱うハンドラを登録する

addEventListener(event,handler)

例)
windowオブジェクトのloadイベント
ページの読み込みが完了したとき、newView関数を実行

window.addEventListener("load",newView);

ボタンをclickしたとき、clickReset関数を実行
(ボタンにID属性resetを設定)、

document.querySelector("#reset").addEventListener("click",clickReset);

参考書籍

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?