JSはDOMのいくつかの方法を獲得します.
JSはDOMといくつかの方法を獲得します. IDにより取得される .経由でname属性 タグ名(getElements ByTagName)による クラス名(getElements ByClass Name) .htmlの取得方法 bodyを取得する方法(Dcument.body) セレクタによって一つの要素 を取得する.は、セレクタによって要素のセットを取得する .
以下の手順で説明します.1.IDで取得します.
3.ラベル名(getElementsByTagName)による
4.クラス名(getElements ByClass Name)による
5.htmlの取得方法(document.documentElement)
DOM元素の継承関係
まとめ:
以下の手順で説明します.1.IDで取得します.
let box= document.getElementById("id1");
上下文必须是document。
必须传参数,参数是string类型,是获取元素的id。
返回值只获取到一个元素,没有找到返回null。
2.通过name属性(getElementsByName)
let userInput= document.getElementsByName("user");
name属性を持つ要素(フォーム要素)のみがname属性からコンテキストを取得するためには、documentでなければなりません.パラメータを伝える必要があります.パラメータは元素を取得するname属性です.戻り値はクラスの配列で、戻り値の空行列が見つかりませんでした.3.ラベル名(getElementsByTagName)による
A
B
C
D
E
F
let pCollection= document.getElementsByTagName("p");
この方法は、集合でもある.4.クラス名(getElements ByClass Name)による
let boxCollection= document.getElementsByClassName("box");
let box1 = boxList[0];
let box2 = boxList[1];
getElements ByClass Name()の括弧の中のものは前に「.」を入れる必要がない.この方法で括弧の中の値は一つの要素のclass値に決定された.この方法は、集合を返します.セットバインディングイベントを直接に与えることはできません.セットの中の要素を取得してから、要素バインディングイベントIE 8および以前のバージョンと互換性がありません.5.htmlの取得方法(document.documentElement)
document.documentElement html 。
6.bodyを取得する方法(Dcument.body) document.body body 。
7.選択器で要素を取得する(querySelector)
let box= document.querySelector("#id1");
querySelector()方法括号中的值是元素的选择器,所以前面加了”#”符号,使用的是id选择器。此方法直接返回DOM对象本身
不兼容IE7以及以前版本
8.通过选择器获取一组元素(querySelectorAll)
boxA
boxB
boxC
boxD
boxE
let box1= document.querySelector(".box");
let boxes= document.querySelectorAll(".box");
互換性のないIE 7 querySelector()とquerySelectorAll()メソッドの括弧の中の値はすべてセレクタです.複数のクラスの同じ要素がある場合、querySelectorを使って最初のクラスがboxである要素しか入手できません.しかも、querySelectorAllはすべてのクラスがboxである要素セットを取得しました.DOM元素の継承関係
HTMLDivElement > HTMLElement > Element > Node > EventTarget
HTMLDocument > Document > Node > EventTarget
彼らの同じ継承関係はNodeとEventTarget、つまり彼らはNodeとEventTarget上の方法を使うことができます.Node上のnodeName、parent Nodeなど、EventTarget上のaddEvent Listenerなどです.getElement ByIdはDcument類の原型のみでHTMLDivElementはDcument類を継承していませんので、divはgetElement ById法を使用することができません.getElements ByTagNameは、Dcument類の原型にもElement類の原型にありますので、divとdocumentは、getElementメソッドを使用することができます.その他同理まとめ:
DOM , getElementById() querySelector() DOM , 。
getElementXXX , Id , , DOM , , :document.getElementsByClassName(“box”)[0] => class box DOM 。
querySelector() querySelectorAll() :
:
: class , querySelector() class box , querySelectorAll() class box 。