DOM 获取元素

获取元素

为什么要获取页面元素?

例如:我们想要操作页面上的某部分(显示/隐藏,动画),需要先获取到该部分对应的元素,再对其进行操作。

1. 根据ID获取

  • 语法:document.getElementById(‘id’)
  • 作用:根据ID获取元素对象
  • 参数:id值,区分大小写的字符串
  • 返回值:元素对象 或 null

案例代码

<body>
    <div id="time">2020-12-9</div>
    <script>
        // 因为页面是从上往下进行解析 所有我们要先有标签 所以script标签写到下面
        var timer = document.getElementById('time'); //获取元素
        console.log(timer); // 打印查看
        console.log(typeof timer); // 查看类型
        // console.dir 打印我们返回的元素对象 更好的查看里面的属性和方法
        console.dir(timer);
    </script>
</body>

返回结果

2. 根据标签名获取元素

  • 语法:document.getElementsByTagName(‘标签名’) 或者element.getElementsByTagName(‘标签名’)
  • 作用:根据标签名获取元素对象
  • 参数:标签名
  • 返回值:元素对象集合(伪数组,数组元素是元素对象)

案例代码

<body>
    <ul>
        <li>123456</li>
        <li>123456</li>
        <li>123456</li>
        <li>123456</li>
        <li>123456</li>
    </ul>
    <ul id="nav">
        <li>abcdef</li>
        <li>abcdef</li>
        <li>abcdef</li>
        <li>abcdef</li>
        <li>abcdef</li>
    </ul>
    <script>
        // 获取元素的对象集合
        var lis = document.getElementsByTagName('li');
        // 我们可以通过遍历依次获取里面的元素
        for (var i = 0; i < lis.length; i++) {
            console.log(lis[i]);
        }

        var nav = document.getElementById('nav'); // 获取nav 元素
        var navLis = nav.getElementsByTagName('li'); // 获取nav 里的li
    </script>
</body>

可以自己进行打印输出查看一下结果

注意: 因为得到的是一个对象的集合,所以我们想要操作里面的元素就需要进行遍历

3. H5新增获取元素方式

(1) document.getElementsByClassName(‘类名’) // 根据类名返回元素对象集合

  • 语法:document.getElementsByClassName(‘类名’)
  • 作用:根据类名获取元素对象
  • 参数:类名
  • 返回值:元素对象集合(伪数组,数组元素是元素对象)

获取类名的方式和上面获取标签的方式的返回值都是元素对象集合 使用时都需要遍历
(2)document.querySelector(‘选择器’) // 根据指定选择器返回第一个元素对象(推荐使用)

  • 语法:document.querySelector(‘选择器’)
  • 作用:根据选择器获取元素对象
  • 参数:选择器
  • 返回值:元素对象 或 null

案例代码

<body>
    <div></div>
    <div class="one"></div>
    <div class="one" id="two"></div>
    <div class="one"></div>
    <div class="one"></div>
    <script>
        var div = document.querySelector('div')
        var div = document.querySelector('.one')
        var div = document.querySelector('#two')
    </script>
</body>

依次对应的div
第一个
第二个
第三个
(3)document.querySelectorAll(‘选择器’) // 根据指定选择器返回(推荐使用)

  • 语法:document.querySelectorAll(‘选择器’)
  • 作用:根据选择器获取元素对象
  • 参数:选择器
  • 返回值:元素对象集合(伪数组,数组元素是元素对象)

和上面的类、标签一样都是返回元素对象集合 不过我比较推荐使用这个
注意: querySelectorAll和querySelector里面的选择器都需要加符号
例如:document.querySelector(’.one’)、document.querySelector(’#two’)

4. 获取特殊元素(html ,body)

获取body对象
document.body // 返回body元素对象
获取html对象
document.documentElement // 返回html元素对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值