1. 程式人生 > >原生JS獲取HTML DOM元素的8種方法

原生JS獲取HTML DOM元素的8種方法

 

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')
  • 1
  • 上下文必須是document。
  • 必須傳引數,引數是string型別,是獲取元素的id。
  • 返回值只獲取到一個元素,沒有找到返回null。

2.通過name屬性(getElementsByName)

document.getElementsByName('name')
  • 1
  • 上下文必須是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”。
  • 返回值是一個類陣列。