JS獲取DOM元素的方法(8種)
- 通過ID獲取(getElementById)
- 通過name屬性(getElementsByName)
- 通過標簽名(getElementsByTagName)
- 通過類名(getElementsByClassName)
- 通過選擇器獲取一個元素(querySelector)
- 通過選擇器獲取一組元素(querySelectorAll)
- 獲取html的方法(document.documentElement)
- document.documentElement是專門獲取html這個標簽的
- 獲取body的方法(document.body)
- document.body是專門獲取body這個標簽的。
1.通過ID獲取(getElementById)
document.getElementById('id')
- 上下文必須是document。
- 必須傳參數,參數是string類型,是獲取元素的id。
- 返回值只獲取到一個元素,沒有找到返回null。
2.通過name屬性(getElementsByName)
document.getElementsByName('name')
- 上下文必須是document。內容
- 必須傳參數,參數是是獲取元素的name屬性。
- 返回值是一個類數組,沒有找到返回空數組。
3.通過標簽名(getElementsByTagName)
var obj = document.getElementsByTagName('div'); for(let i = 0; i<obj.length; i++){ obj[i].onclick = function(e){ console.log(i) } }
- 上下文可以是document,也可以是一個元素,注意這個元素一定要存在。
- 參數是是獲取元素的標簽名屬性,不區分大小寫。
- 返回值是一個類數組,沒有找到返回空數組
4.通過類名(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,也可以是一個元素。
- 參數是元素的類名。
- 返回值是一個類數組,沒有找到返回空數組。
5.通過選擇器獲取一個元素(querySelector)
document.querySelector('.animated')
- 上下文可以是document,也可以是一個元素。
- 參數是選擇器,如:”div .className”。
- 返回值只獲取到第一個元素。
6.通過選擇器獲取一組元素(querySelectorAll)
document.querySelector('.animated')
- 上下文可以是document,也可以是一個元素。
- 參數是選擇器,如:”div .className”。
- 返回值是一個類數組。