document.getElementById 和 document.getElementsByClassName获取DOM元素的区别

  想必小伙伴们对于 JS 获取DOM的几种方法早已烂熟于心,了然于胸,

   尤其是 document.getElementByIddocument.getElementsByClassName,

   看看下面截图,用上面2种方法获取到元素并添加点击事件后,控制台会打印出什么呢?

  

  可能有小伙伴晃眼一看,这么简单,不就是 1和2 吗,真的是这样吗?下面看看控制台的打印截图

  

   结果是只打出了1,为什么没有打印出2呢?

   现在我们把2种获取DOM的方法打印出来,如下截图,

  console.log(test_id);  console.log(test_class);

  

  

  结论:

     ①:前者获取的是指定的具有唯一性的一个元素,后者获取的是一个集合,

       ②:document.getElementsByClassName不能直接给一个集合添加事件,

         要用数组索引的方式,test_class[0].onclick = function(){}

     ③:document.getElementsByClassName获取第一个元素就是test_class[0],第二元素test_class[1],以此类推

     

  测试demo

  

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <title></title>

    </head>

    <body>
        <button id="Test">我是id</button>
        <button class="test">我是class</button>
        <button class="test">我也是class</button>

        <script>
            var test_id = document.getElementById("Test");
            var test_class = document.getElementsByClassName("test");

            test_id.onclick = function() {
                console.log(1);
            }

            test_class[0].onclick = function() {
                console.log(2);
            }

            test_class[1].onclick = function() {
                console.log(3);
            }

            console.log(test_id);
            console.log(test_class);
        </script>
    </body>

</html>

  写这篇博客的初衷说来惭愧,因为习惯了用id获取元素,所以当用class获取元素时,总会忘记获取的是一个集合,

  这也说明我基础还是不牢固,以此警示自己,希望自己不要好高骛远,打好基础

原文地址:https://www.cnblogs.com/tu-0718/p/10164714.html

时间: 2024-10-09 01:15:59

document.getElementById 和 document.getElementsByClassName获取DOM元素的区别的相关文章

通过class和id获取DOM元素的区别

1.通过id获取DOM元素的方法:document.getElementById("id名") 2.通过class获取DOM元素的方法:document.getElementsByClassName("class名") 从函数的名字可以知道,通过getElementsByClassName获取到的是一个数组,包括多个DOM元素,所以要执行DOM元素的方法,必须加一个索引,比如document.getElementsByClassName("class名&q

原生javascript获取dom元素简单介绍

原生javascript获取dom元素简单介绍: 使用jQuery可以各种方式获取元素,比如id选择器,类选择器,元素选择器等等,非常的方便. 下面就介绍一下如何利用原生的js实现获取dom元素的功能. 一.通过id获取元素: 最方便的那就是使用document.getElementById()函数. 具体可以参阅document.getElementById()一章节. 二.通过标签获取元素: 使用document.getElementsByTagName()函数. 具体可以参阅documen

JS获取DOM元素的八种方法

什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准.我们用JavaScript对网页进行的所有操作都是通过DOM进行的. 这篇文章不做深入研究,只把各种用法和坑做一个总结. JS获取DOM元素的方法(8种) 通过ID获取(getElementById) 通过name属性(getElementsByName) 通过标签名(getE

获取DOM元素位置和尺寸大小

JavaScript获取DOM元素位置和尺寸大小 在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽略的一部分,要想写出预想效果的JavaScript代码,我们需要了解一些基本知识. 基础概念 为了方便理解,我们需要了解几个基础概念,每个HTML元素都有下列属性 offsetWidth clientWidth scrollWidth offsetHeight clientHeight scroll

获取DOM元素的三种方法

1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="Generator" content="EditPlus?"> 6 <meta name="Author" content=""> 7 <me

JQuery动画——.trim()去空格、.get()和.index()获取DOM元素

.trim()去空格..get()和.index()获取DOM元素 1   .trim()函数用于去除字符串两端的空白字符,没有多余的参数用法 2   移除字符串开始和结尾处的所有换行符,空格(包括连续的空格)和制表符(tab),如果这些空白字符在字符串中间时,它们将被保留,不会被移除3   .get()获取DOM元素,通过已知的索引在合集中找到对应的元素4   get获取dom对象,通过document.getElementById获取的对象,从0开始索引,如找到第二元素,可以传递 $(a).

javascript中获取dom元素高度和宽度

javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollH

JavaScript 获取 dom 元素的原生方法

常用的方法有: 通过id.name属性.标签名.类名 querySelector()获取一个元素.querySelectorAll()获取一组元素 document.documentElement 获取 html 标签 document.body  获取 body 标签 function getDom() { var myDom = document.getElementById(ele) || document.getElementsByName(ele)[0] || document.get

Vue系列之 =&gt; ref获取DOM元素和组件

可以获取DOM元素,和组件中的数据,方法 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-eq