当前位置:   article > 正文

js获取页面元素的 7种方法

js获取页面元素

1、通过ID来获取页面元素:

document.getElementById('id');
  1. <div id='box'></div>
  2. <script>
  3. let box = document.getElementById('box');
  4. console.log(box); // 输出是整条语句 <div id='box'></div>
  5. </script>

获取类的话需要用到className,因为class是一个关键字:

  1. div id="box" class="one"></div>
  2. <script>
  3. let box = document.getElementById('box');
  4. box.className;
  5. console.log(box.className); // 输出是类名 one
  6. </script>

注意:

1、如果页面上没有这个id的元素,通过这个id来获取的就是一个null

 2、有些浏览器认为id是唯一的,所以可以用id来代替那个元素.,但是不建议这样用, 建议还是先获取元素

 2、通过类名来获取页面元素:

document.getElementsByClassName('类名');

 .获取到的是一个集合,伪数组. 里面存放的是一个个的元素

  1. <ul>
  2. <li class="one">1</li>
  3. <li class="one">2</li>
  4. <li class="one">3</li>
  5. </ul>
  6. <script>
  7. let lis = document.getElementsByClassName('one');
  8. console.log(lis); //输出的是伪数组 [li.one, li.one, li.one]
  9. </script>

  如果要得到第2个li标签,可以通过数组的下标得到:

  1. <script>
  2. let lis = document.getElementsByClassName('one');
  3. let li2 = lis[1];
  4. console.log(li2); //输出 <li class='one'>2</li>
  5. </script>

 类名的获取:

  1. <ul>
  2. <li class="one">我是第1个li标签</li>
  3. <li class="one">我是第2个li标签</li>
  4. <li class="one">我是第3个li标签</li>
  5. </ul>
  6. <script>
  7. let lis = document.getElementsByClassName('one');
  8. let li2 = lis[1];
  9. li2.className += ' two'
  10. console.log(li2.className); //输出 one two
  11. </script>

 注意:

1、下面这样设置会把原来的类名覆盖掉

  li2.className = 'two';         //会得到<li class="two">2</li>

2、如果不覆盖,要先获取再追加

li2.className += ' two';     //这里需要空格一下,类名才不会相连

 3、通过标签名来获取页面元素:

document.getElementsByTagName('标签名');

是获取页面上的所有该标签,得到的是一个对象,是伪数组(并不是数组),里面放的是一个个的元素

类似于类名的获取,需要通过下标去取里面的值,但是getElementsByTagName是通过"标签名"来获得

  1. <ul>
  2. <li>我是第1个li标签</li>
  3. <li>我是第2个li标签</li>
  4. <li>我是第3个li标签</li>
  5. </ul>
  6. <script>
  7. let li2 = document.getElementsByTagName('li')[1];
  8. console.log(li2); //'<li>我是第2个li标签</li>'
  9. console.log(Array.isArray(lis)); //false 不是数组
  10. </script>

4、通过name属性获取页面元素:

document.getElementsByName('name属性的值');

<!-- div标签默认没有name,但是我们可以给他添加一个name属性 --> 

<div name='one'></div>
  1. <!-- 表单元素,是默认有name属性 -->
  2. <input type="text" name="one" id="">
  3. <input type="password" name="one" id="">
  4. <input type="radio" name="one" id="">
  5. <input type="checkbox" name="one" id="">
  6. <script>
  7. //需求: 通过name属性去获取元素们.
  8. let eles = document.getElementsByName('one');
  9. console.log(eles);
  10. </script>

注意: 这种获取元素的方式用的不多.

5、H5新增的获取元素的方式(需考虑浏览器兼容)

1、document.querySelector('选择器');       //获取满足条件的第一个元素 id带#,  类带. 

  1. <ul>
  2. <li>我是第1个li标签</li>
  3. <li class="one">我是第2个li标签</li>
  4. <li class="one">我是第3个li标签</li>
  5. <li>我是第4个li标签</li>
  6. <li class="one">我是第5个li标签</li>
  7. <li>我是第6个li标签</li>
  8. <li>我是第7个li标签</li>
  9. <li id="one">我是第8个li标签</li>
  10. <li id="two">我是第9个li标签</li>
  11. <li>我是第10个li标签</li>
  12. <span class="one">span1</span>
  13. <span class="one">span2</span>
  14. </ul>
  15. <ol>
  16. <li class="one">我是ol中的第1个li标签</li>
  17. <li>我是ol中的第2个li标签</li>
  18. </ol>
  19. <script>
  20. let ele = document.querySelector('#one');
  21. console.log(ele); //输出 <li id="one">我是第8个li标签</li>
  22. let eles = document.querySelector('.one');
  23. console.log(eles); //输出 <li class="one">我是第2个li标签</li>
  24. </script>

6、H5新增的获取元素的方式(需考虑浏览器兼容)

2.document.querySelectorAll('选择器');         //获取满足条件的所有元素

  1. let ele = document.querySelectorAll('ol>li');
  2. console.log(ele); //获取到的是ol下的所有li元素

7、直接通过标签获取,例如:body

document.body.样式.属性 = ‘ 属性值 ’;              //设置body元素的样式

AND: document.documentElement是专门获取html这个标签的,几乎很少用到

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/113373
推荐阅读
相关标签
  

闽ICP备14008679号