DOM学习Day2之获取元素

获取元素

根据ID获取

  • 使用getElementByld() 方法获取带有ID的元素对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id='time'>2019-9-9</div>
    <script>
        // 1.因为我们的文档页面从上往下加载,所以先得有标签,因此,我们把script写到标签下面
        // 2.get(获得)element(元素)by (通过) 驼峰命名法
        // 3.参数 ID是大小写敏感的字符串
        var timer = document.getElementById('time');
        console.log(timer);// 返回 <div id='time'>2019-9-9</div>
        console.log(typeof timer);// 返回object(一个元素对象)
        // 5.打印返回的元素对象,更好的查看里面的属性和方法
        console.dir(timer);
    </script>
</body>
</html>

根据标签名获取

  • 使用getElementByTagName() 方法可以返回带有指定标签名的对象的集合
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>咚咚咚咚咚1</li>
        <li>咚咚咚咚咚2</li>
        <li>咚咚咚咚咚3</li>
        <li>咚咚咚咚咚4</li>
        <li>咚咚咚咚咚5</li>
    </ul>
    <script>
        // 1. 返回的是获取过来元素对象的集合,以伪数组的形式存储的
        var lis = document.getElementsByTagName('li');
        console.log(lis);
        console.log(typeof lis);// 返回object
        console.log(lis[0]);// 返回 <li>咚咚咚咚咚1</li>
        // 2. 依次打印里面的对象
        for (var i = 0;i < lis.length;i++) {
            console.log(lis[i]);
        }
    </script>
</body>
</html>
  • 注意:

    1. 因为得到的是一个对象的集合,所以我们想要操作里面的元素就要遍历
    2. 得到元素对象是动态的
    3. 如果页面中这个元素只有一个,返回的还是伪数组的形式
    4. 如果页面中没有这个元素,返回的是空的伪数组的形式
  • 获取某个元素(父元素)内部所有指定标签的子元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>咚咚咚咚咚1</li>
        <li>咚咚咚咚咚2</li>
        <li>咚咚咚咚咚3</li>
        <li>咚咚咚咚咚4</li>
        <li>咚咚咚咚咚5</li>
    </ul>
    <ol>
        <li>咚咚咚咚咚1</li>
        <li>咚咚咚咚咚2</li>
        <li>咚咚咚咚咚3</li>
        <li>咚咚咚咚咚4</li>
        <li>咚咚咚咚咚5</li>
    </ol>
    <script>
        var ol = document.getElementByTagName('ol');// [ol]
        console.log(ol[0].getElementByTagName('li'));
    </script>
</body>
</html>
  • 注意:父元素必须是单个对象(必须指明是哪一个元素对象),获取的时候不包括父元素自己

通过 HTML 新增的方法获取

  • 使用document.getElementClassName(‘类名’) 根据类名返回元素集合
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="box">盒子</div>
    <div class="box">盒子</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        // 1. 使用document.getElementClassName('类名') 根据类名返回元素集合
        var boxs = document.getElementsByClassName('box');
        console.log(boxs);
    </script>
</body>
</html>
  • 使用document.querySelector(‘选择器’) 根据指定选择器返回第一个元素对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="box">盒子1</div>
    <div class="box">盒子2</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        // 2. 使用document.querySelector('选择器') 根据指定选择器返回第一个元素对象
        var firstBox = document.querySelector('.box');
        console.log(firstBox); // 返回 <div class="box">盒子1</div>
        var nav = document.querySelector('#nav');
        console.log(nav); // 返回
    </script>
</body>
</html>
  • 使用document.querySelectorAll(‘选择器’) 根据指定选择器返回所有元素对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="box">盒子1</div>
    <div class="box">盒子2</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        // 3. 使用document.querySelectorAll('选择器') 根据指定选择器返回所有元素对象
        var allBox = document.querySelectorAll('.box');
        console.log(allBox); // 返回 NodeList(2) [div.box, div.box]
    </script>
</body>
</html>

获取特殊元素(body,html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.获取 body 元素
        var bodyEle = document.body;
        console.log(bodyEle);
        // 2.获取 html 元素
        var htmlEle = document.documentElement;
        console.log(htmlEle);
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值