方法:1、用getElementById方法通過(guò)ID獲取;2、用getElementsByName方法通過(guò)name值獲?。?、用getElementsByTagName方法通過(guò)標(biāo)簽名獲?。?、用querySelector方法通過(guò)選擇器獲取。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JS獲取DOM元素的方法(8種)
- 通過(guò)ID獲?。╣etElementById)
- 通過(guò)name屬性(getElementsByName)
- 通過(guò)標(biāo)簽名(getElementsByTagName)
- 通過(guò)類(lèi)名(getElementsByClassName)
- 通過(guò)選擇器獲取一個(gè)元素(querySelector)
- 通過(guò)選擇器獲取一組元素(querySelectorAll)
- 獲取html的方法(document.documentElement)
- document.documentElement是專(zhuān)門(mén)獲取html這個(gè)標(biāo)簽的
- 獲取body的方法(document.body)
- document.body是專(zhuān)門(mén)獲取body這個(gè)標(biāo)簽的。
1、通過(guò)ID獲?。╣etElementById)
document.getElementById('id')
- 上下文必須是document。
- 必須傳參數(shù),參數(shù)是string類(lèi)型,是獲取元素的id。
- 返回值只獲取到一個(gè)元素,沒(méi)有找到返回null。
2、通過(guò)name屬性(getElementsByName)
document.getElementsByName('name')
- 上下文必須是document。內(nèi)容
- 必須傳參數(shù),參數(shù)是是獲取元素的name屬性。
- 返回值是一個(gè)類(lèi)數(shù)組,沒(méi)有找到返回空數(shù)組。
3、通過(guò)標(biāo)簽名(getElementsByTagName)
var obj = document.getElementsByTagName('div'); for(let i = 0; i<obj.length; i++){ obj[i].onclick = function(e){ console.log(i) } }
- 上下文可以是document,也可以是一個(gè)元素,注意這個(gè)元素一定要存在。
- 參數(shù)是是獲取元素的標(biāo)簽名屬性,不區(qū)分大小寫(xiě)。
- 返回值是一個(gè)類(lèi)數(shù)組,沒(méi)有找到返回空數(shù)組
4、通過(guò)類(lèi)名(getElementsByClassName)
var obj1 = document.getElementsByClassName('animated') // console.log 0:div.app.animated 1:div#login.login.animated.rubberBand 2:div#reg.reg.animated.shake 3:div#kefu.kefu.animated.swing 4:div#LoginState.state.animated.bounce 5:div.loginState.animated 6:div.regState.animated 7:div.pop.animated
- 上下文可以是document,也可以是一個(gè)元素。
- 參數(shù)是元素的類(lèi)名。
- 返回值是一個(gè)類(lèi)數(shù)組,沒(méi)有找到返回空數(shù)組。
5、通過(guò)選擇器獲取一個(gè)元素(querySelector)
document.querySelector('.animated')
- 上下文可以是document,也可以是一個(gè)元素。
- 參數(shù)是選擇器,如:”p .className”。
- 返回值只獲取到第一個(gè)元素。
6、通過(guò)選擇器獲取一組元素(querySelectorAll)
document.querySelector('.animated')
- 上下文可以是document,也可以是一個(gè)元素。
- 參數(shù)是選擇器,如:”p .className”。
- 返回值是一個(gè)類(lèi)數(shù)組。