JavaScript-DOM-document对象访问元素(补充篇)

JavaScript-DOM-document对象访问元素(补充篇)

  之前介绍了三种常用的document对象访问元素的方法。这篇介绍一下其他的方法。

1、getElementsByClassName()

描述:
  通过选择器名来获取元素对象集,返回一个HTMLCollection对象,可通过[]或item()访问列表元素
示例:

document.getElementsByClassName('div');

2、querySelector()

描述:
  返回指定 CSS 选择器的第一个元素, 可以是类选择、id选择、组合选择等等
示例:

document.querySelector('.demo div');

3、querySelectorAll()

描述:
  返回指定 CSS 选择器的一个NodeList对象, 可以是类选择、id选择、组合选择等等
示例:

document.querySelectorAll('input');

4、获取焦点元素

  html5新增DOM焦点管理功能,使用document.activeElement属性可以引用当前获得焦点的元素,元素获取焦点的方式包括:页面加载,用户输入(如按tab键)和在脚本中调用focus()方法。可以用document.hasFocus()方法可以判断当前 文档 是否获得了焦点。

亲自试一试

上面的4种方法都包含在下面例子中了,试一试吧!

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>DOM-其他元素对象获取方法示例</title>
    <script>
        window.onload = function () {
            // getElementsByClassName()通过选择器名来获取元素对象集,返回HTMLCollection
            let demo = document.getElementsByClassName('demo');
            console.log(demo);
            // querySelector()返回指定 CSS 选择器的一个元素, 可以是类选择、id选择等等
            let demochild = document.querySelector('.demo div');
            // querySelectorAll()返回指定 CSS 选择器的所有元素,一个NodeList对象
            let inputone = document.querySelectorAll('input')[0];
            // 获取焦点事件
            inputone.onfocus = function () {
            	// html5新增DOM焦点管理功能,使用document.activeElement属性可以引用当前获得焦点的元素
                document.activeElement.style.backgroundColor = 'rgb(225, 231, 150)';
                // document.hasFocus()方法可以判断当前 文档 是否获得了焦点
                console.log(document.hasFocus());
            }
            // 失去焦点事件
            inputone.onblur = function () {
                this.style.backgroundColor = 'rgb(147, 220, 230)';
            }
        }
    </script>
</head>

<body>
    <div class="demo">
        <div>我是第一个div的第一个div节点</div>
    </div>

    <input type="text">
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值