获取元素

2020-09-11  本文已影响0人  潘肚饿兵哥哥

\color{rgba(254, 67, 101, .8)}{获取页面元素}

DOM在我们实际开发中主要用来操作元素

  • 根据ID获取
  • 根据标签名获取
  • 通过HTML5新增的方法获取
  • 特殊元素获取

\color{rgba(254, 67, 101, .8)}{获取ID:}

get 获得 element 元素 by 通过 驼峰命名法
参数有一个,是字符串
返回的是元素对象
\color{rgba(254, 67, 101, .8)}{用console.dir();可以看到这个对象中的属性和方法 }

    <div id="time">2020-09-09</div>
    <script>
        var timer = document.getElementById('time');
        console.log(timer);
        console.log(typeof timer);
        console.dir(timer);
    </script>
image.png image.png

\color{rgba(254, 67, 101, .8)}{根据标签名获取某些元素}

getElementsByTagName();方法可以返回带有指定标签名的
\color{rgba(254, 67, 101, .8)}{对象的集合}
返回值是 获取过来的元素对象的集合,以伪数组的形式存储的

    <ul>
        <li>知否知否,应是等你好久</li>
        <li>知否知否,应是等你好久</li>
        <li>知否知否,应是等你好久</li>
        <li>知否知否,应是等你好久</li>
        <li>知否知否,应是等你好久</li>
    </ul>
    <script>
        var lis = document.getElementsByTagName('li');
        console.log(lis);
        console.log(lis[0]); //获取第一个元素
        console.log(typeof lis);
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{想要打印里面的元素对象可以用遍历}
\color{rgba(254, 67, 101, .8)}{注意:}

1.因为得到的额是一个对象的集合,所以我们要操作里面的元素就需要遍历
2.得到的元素对象是动态的(不需要改动代码就可以拿到新的变动内容)
3.如果页面中只有一个li,返回的还是伪数组的形式
4.如果页面中没有这个元素,返回的是空的伪数组

    <ul>
        <li>知否知否,应是等你好久1</li>
        <li>知否知否,应是等你好久2</li>
        <li>知否知否,应是等你好久3</li>
        <li>知否知否,应是等你好久4</li>
        <li>知否知否,应是等你好久5</li>
    </ul>
    <script>
        var lis = document.getElementsByTagName('li');
        console.log(lis);
        console.log(lis[0]); //获取第一个元素
        console.log(typeof lis);

        for (var i = 0; i < lis.length; i++) {
            console.log(lis[i]);
        }
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{document.getElementsByTagName('li')是获取整个文档的li}

如果要精确的获取标签,就要用另一个函数:

\color{rgba(254, 67, 101, .8)}{获取某个元素(父元素)内部所有指定标签的子元素}

element.getElementsByTagName('标签名');

注意:父元素必须是\color{rgba(254, 67, 101, .8)}{单个对象(必须指明是哪一个对象元素)},获取的时候不包括父元素自己

给父元素一个id,拿到父元素deid之后,通过id去拿子元素,如下:

   <ul>
        <li>知否知否,应是等你好久1</li>
        <li>知否知否,应是等你好久2</li>
        <li>知否知否,应是等你好久3</li>
        <li>知否知否,应是等你好久4</li>
        <li>知否知否,应是等你好久5</li>
    </ul>

    <ol id="ol">
        <li>生僻字</li>
        <li>生僻字</li>
        <li>生僻字</li>
    </ol>
   

    <script>
        //如果ol里也有li,获取方法:
        var ol = document.getElementById('ol');
        console.log(ol.getElementsByTagName('li'));
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{通过H5新增方法获取元素}

1.document.getElementsByClassName('类名'); 根据类名返回元素对象集合
2.document.querySelector('选择器'); 根据指定选择器返回第一个元素对象
3.document.querySelectorAll('选择器'); 返回指定选择器的所有对象集合
这三种方法要加符号:.class #id

\color{rgba(254, 67, 101, .8)}{document.getElementsByClassName('类名');}

    <div class="box">盒子</div>
    <div class="box">盒子</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        //1.通过类名获取元素,这是H5新增的方法IE9以上
        //document.getElementByClassName根据类名获取元素
        var boxs = document.getElementsByClassName('box');
        console.log(boxs);
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{document.querySelector('选择器'); }

根据指定选择器返回第一个元素对象

    <div class="box">盒子</div>
    <div class="box">盒子</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        //1.通过类名获取元素,这是H5新增的方法IE9以上
        //document.getElementByClassName根据类名获取元素
        var boxs = document.getElementsByClassName('box');
        console.log(boxs);

        //.document.querySelector('选择器'); 根据指定选择器返回第一个元素对象
        var firstBox = document.querySelector('.box');
        console.log(firstBox);
    </script>
image.png
    <div class="box">盒子</div>
    <div class="box">盒子</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        //1.通过类名获取元素,这是H5新增的方法IE9以上
        //document.getElementByClassName根据类名获取元素
        var boxs = document.getElementsByClassName('box');
        console.log(boxs);

        //.document.querySelector('选择器'); 根据指定选择器返回第一个元素对象
        //选class
        var firstBox = document.querySelector('.box');
        console.log(firstBox);

        //选id,会把nav这个id里的元素全部拿到
        var nav = document.querySelector('#nav');
        console.log(nav);
    </script>
image.png
    <div class="box">盒子</div>
    <div class="box">盒子</div>
    <div id="nav">
        <ul>
            <li>首页</li>
            <li>产品</li>
        </ul>
    </div>

    <script>
        //document.querySelectorAll('选择器');返回指定选择器的所有对象集合
        var allBox = document.querySelectorAll('.box');
        console.log(allBox);
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{获取特殊元素body、html}
\color{rgba(254, 67, 101, .8)}{获取body元素}

    <script>
        //1.获取body元素,其他的都可以通过起类名或id,但是这两个特殊,一个页面只有一个
        var bodyEle = document.body;
        console.log(bodyEle);

        //2.获取html元素
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{获取html元素}

    <script>
        //1.获取body元素,其他的都可以通过起类名或id,但是这两个特殊,一个页面只有一个
        var bodyEle = document.body;
        console.log(bodyEle);

        //2.获取html元素
        var htmlEle = document.documentElement;
        console.log(htmlEle);
    </script>
image.png
上一篇下一篇

猜你喜欢

热点阅读