zoukankan      html  css  js  c++  java
  • 0158 JavaScript获取元素:id,标签名,类名,querySelector,querySelectorAll,获取body、html

    为什么要获取页面元素?

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


    1.3.1. 根据ID获取

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

    案例代码

    <body>
        <div id="time">2019-9-9</div>
        <script>
            // 因为我们文档页面从上往下加载,所以先得有标签 所以我们script写到标签的下面
            var timer = document.getElementById('time');
            console.log(timer);
            console.log(typeof timer);
            // console.dir 打印我们返回的元素对象 更好的查看里面的属性和方法
            console.dir(timer);
        </script>
    </body>
    

    1.3.2. 根据标签名获取元素

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

    案例代码

    <body>
        <ul>
            <li>知否知否,应是等你好久11</li>
            <li>知否知否,应是等你好久22</li>
            <li>知否知否,应是等你好久33</li>
            <li>知否知否,应是等你好久44</li>
            <li>知否知否,应是等你好久55</li>
        </ul>
        <ul id="nav">
            <li>生僻字</li>
            <li>生僻字</li>
            <li>生僻字</li>
            <li>生僻字</li>
            <li>生僻字</li>
        </ul>
        <script>
            // 1.返回的是 获取过来元素对象的集合 以伪数组的形式存储的
            var lis = document.getElementsByTagName('li');
            console.log(lis);
            console.log(lis[0]);
            // 2. 我们想要依次打印里面的元素对象我们可以采取遍历的方式
            for (var i = 0; i < lis.length; i++) {
                console.log(lis[i]);
            }
            // 3. element.getElementsByTagName()  可以得到这个元素里面的某些标签
            var nav = document.getElementById('nav'); // 这个获得nav 元素
            var navLis = nav.getElementsByTagName('li');
            console.log(navLis);
        </script>
    </body>
    

    注意:getElementsByTagName()获取到是动态集合,即:当页面增加了标签,这个集合中也就增加了元素。


    1.3.3. H5新增获取元素方式

    1. document.getElementsByClassName(‘类名’);// 根据类名返回元素对象集合
    2. document.querySelector('选择器'); // 根据指定选择器返回第一个元素对象
    3. document.querySelectorAll('选择器'); // 根据指定选择器返回
    


    案例代码

    <body>
        <div class="box">盒子1</div>
        <div class="box">盒子2</div>
        <div id="nav">
            <ul>
                <li>首页</li>
                <li>产品</li>
            </ul>
        </div>
        <script>
            // 1. getElementsByClassName 根据类名获得某些元素集合
            var boxs = document.getElementsByClassName('box');
            console.log(boxs);
    
            // 2. querySelector 返回指定选择器的第一个元素对象  切记 里面的选择器需要加符号 .box  #nav
            var firstBox = document.querySelector('.box');
            console.log(firstBox);
            var nav = document.querySelector('#nav');
            console.log(nav);
            var li = document.querySelector('li');
            console.log(li);
    
            // 3. querySelectorAll()返回指定选择器的所有元素对象集合
            var allBox = document.querySelectorAll('.box');
            console.log(allBox);
            var lis = document.querySelectorAll('li');
            console.log(lis);
        </script>
    </body>
    

    1.3.4 获取特殊元素(body,html)

            // 1.获取body 元素
            var bodyEle = document.body;
            console.log(bodyEle);
            console.dir(bodyEle);
            
            // 2.获取html 元素
            // var htmlEle = document.html;
            var htmlEle = document.documentElement;
            console.log(htmlEle);
    

  • 相关阅读:
    jQuery Timer 实现的新邮件提醒
    在 jquery repeater 中添加设置日期,下拉,复选框等控件
    jquery repeater 完成 QQ 邮箱邮件分组显示功能
    Ajax 与 WebService 之间日期等数据类型的转换
    通过 Parameter 对象添加 Ajax 请求时的参数
    在 jQuery Repeater 进行验证更新等操作时提示消息
    jquery repeater 模仿 Google 展开页面预览子视图
    在 jQuery Repeater 中检索过滤数据
    功能完善的 jquery validator 完成用户注册的验证
    在 Repeater 中绑定转化 JSON 格式的字段
  • 原文地址:https://www.cnblogs.com/jianjie/p/12163942.html
Copyright © 2011-2022 走看看