JS获取HTML DOM元素的方法

1,599 阅读2分钟

原生JS中获取HTML DOM元素的方法有8种。

  • 通过ID获取(getElementById)

  • 通过name属性(getElementsByName)

  • 通过标签名(getElementsByTagName)

  • 通过类名(getElementsByClassName)

  • 通过选择器获取一个元素(querySelector)

  • 通过选择器获取一组元素(querySelectorAll)

  • 获取html的方法(document.documentElement) document.documentElement是专门获取html这个标签的

  • 获取body的方法(document.body) document.body是专门获取body这个标签的。

<div class="div0">1</div>
    <div id="diva">
      <div></div>
      <div class="div0">2</div>
      <div></div>
      <div class="div0"></div>
      <div id="div1"></div>
    </div>
    <form id="form1">
        <!-- 所有的表单都必须写name -->
        <input type="text" name="names">
        <input type="password" name="password">
        <input type="radio" name="sex" value="男">
        <input type="radio" name="sex" value="女">
        <input type="submit">
    </form>
    <form id="form2">
        <!-- 所有的表单都必须写name -->
        <input type="text" name="names">
        <input type="password" name="password">
        <input type="radio" name="sex" value="男">
        <input type="radio" name="sex" value="女">
        <input type="submit">
    </form>

1、通过ID获取

var div1 = document.getElementById("div1");

获取id必须使用document调用getElementById。

必须传参数,参数是string类型,是获取元素的id。

返回值只获取到一个元素,没有找到返回null。

2、通过name属性

根据name获取节点列表

var form1=document.getElementById("form1");
var sexs=document.getElementsByName("sex");

getElementsByName 不可以通过父元素获取 var sexs=form1.getElementsByName("sex");//错误

3、通过标签名

var divs = document.getElementsByTagName("div");

getElementsByTagName这个方法除了可以使用document以外,还可以使用元素调用, 如果使用元素调用,就是指当前这个元素的子元素中的标签名是div的

var divs=diva.getElementsByTagName("div");
var divs=document.getElementsByTagName("div");

4、通过类名

var div0 = document.getElementsByClassName("div0");

可以根据元素获取子元素中class是div0的所有元素 如果使用document.getElementsByClassName就是获取整个文档中class是div0

5、通过选择器获取一个元素 根据选择器获取到第一个找到的元素

var div=document.querySelector("div");

6、通过选择器获取一组元素 根据选择器获取到所有的元素

var div=document.querySelectorAll("div");

querySelector、querySelectorAll仅用于IE8以后