雖然如今咱們在開發中已經用不到本身操做
DOM
了,以前有JQ
,如今更是有VUE
、REACT
兩大框架供咱們使用,可是咱們也有必要了解下,關於原生JS
中的DOM
操做問題。node
DOM
標籤獲取的方式ID
獲取——元素對象document.getElementById([ID])
ID
,得到這個元素對象document
是獲取元素的上下文(獲取元素的範圍)getElementById
方法的上下文只能是document
:
拿
div
舉栗子,div
是HTMLDivElement
類的一個實例,document
是HTMLDocument
的實例。數組他們的繼承關係:瀏覽器
- HTMLDivElement > HTMLElement > Element > Node > EventTarget
- HTMLDocument > Document > Node > EventTarget
咱們都知道子類繼承父類,子類就可使用父類的屬性和方法。框架
- 他們相同的繼承關係是
Node
和EventTarget
,也就是說他們均可以使用Node
和EventTarget
上的方法。- 如
Node
上的nodeName
、parentNode
等,和EventTarget
上的addEventListener
等。getElementById
只在Document
類的原型上,HTMLDivElement
沒有繼承Document
類,因此div
不能使用getElementById
方法。後面要說到的
getElementsByTagName
方法則是即在Document
類的原型上也在Element
類的原型上,因此div
和document
均可以使用getElementsByTagName
方法。code
[context].getElementsByTagName([標籤名])
HTMLCollection
元素集合(類數組:數字做爲索引,length
表明長度)CLASS
類名獲取——元素集合[context].getElementsByClassName([樣式類])
IE6~8
低版本瀏覽器NAME
屬性名獲取——元素集合document.getElementsByName([NAME 屬性名])
Name
屬性值,在整個文檔中獲取一組元素集合IE9
如下只對表單元素做用HTML
——元素對象document.documentElement
HTML
元素對象HTML
是頁面的根節點BODY
——元素對象document.body
HEAD
——元素對象document.head
CSS選擇器
獲取——元素對象[context].querySelector([選擇器])
IE6~8
低版本瀏覽器[context].querySelectorAll([選擇器])
在不考慮兼容的狀況下,這8/9兩種方法就足以獲取咱們須要的元素對象和集合了cdn