JS获取DOM元素的方法

JS获取DOM元素的方法

  • 通过ID获取(getElementById)
    id具有唯一性,获取到的就是页面中的那个 id 为 box 的 div 标签
    如果页面中的id重复了,那么这个方法默认只获得第一个元素
    如果没有获取到,返回的结果为null
<body>
 <div id="box"></div>
 <script>
   var box = document.getElementById('box');
   console.log(box) ;// <div></div>
 </script>
</body>
  • 通过name属性(getElementsByName)
    通过元素的name属性的获取一组元素,这个方法与getElementById类似,但是它查询的是元素的name属性,而不是id属性
    getElementById是element单数(ID属性为唯一值),
    getElementsByName是elements复数(name属性可以重复)。
    所以ByName返回的是数组类型,ById返回的是唯一值
<body>
 <div name="boxname"></div>
 <script>
   var box = document.getElementsByName('boxname');
   console.log(box); // <div></div>
 </script>
</body>
  • 通过标签名(getElementsByTagName)
    因为页面中可能有多个元素的 标签 名称一样,所以获取到的是一组元素,哪怕真的只有一个这个标签名,那么也是获取一组元素,只不过这一组中只有一个 DOM 元素而已
<body>
 <div></div>
 <script>
    var box = document.getElementsByTagName('div');
    console.log(box); // [<div></div>]
    console.log(box[0]) ;// <div></div>
 </script>
</body>
  • 通过类名(getElementsByClassName)
    页面中可能有多个元素的 class 名称一样,所以获取到的是一组元素,是一个长得和数组一样的数据结构,但是不是数组,是伪数组
    这个一组数据也是按照索引排列的,所以我们想要准确的拿到这个 div,需要用索引来获取
<body>
 <div calss="box"></div>
 <script>
   var box = document.getElementsByClassName('box');
    console.log(box); // [<div></div>]
    console.log(box[0]); // <div></div>
 </script>
</body>
  • 通过选择器获取一个元素(querySelector)

按照我们写 css 的时候的选择器来获取,这个方法只能获取到一个元素,并且是页面中第一个满足条件的元素

console.log(document.querySelector('div')); // 获取页面中的第一个 div 元素 
console.log(docuemnt.querySelector('.box')); // 获取页面中第一个有 box 类名的元素
console.log(document.querySelector('#box')) ;// 获取页面中第一个 id 名为 box 的元素
  • 通过选择器获取一组元素(querySelectorAll)
    按照选择器的方式来获取元素,能获取到所有满足条件的元素,以一个伪数组的形式返回,也是需要用索引来获取到准确的每一个 DOM 元素
console.log(document.querySelectorAll('div')) ;// 获取页面中的所有的 div 元素 
console.log(docuemnt.querySelectorAll('.box')); // 获取页面中所有有 box 类名的元素
  • 获取html的方法(document.documentElement)
    document.documentElement是专门获取html这个标签的
  • 获取body的方法(document.body)
    document.body是专门获取body这个标签的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值