全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

JS之元素获取方法

来源:千锋教育
发布人:qyf
2023-02-14

推荐

在线提问>>

  我们在写CSS的时候,可以通过选择器去获取元素并设置各种样式,那么JS中怎么去获取到所需要操作的元素呢?  在JS中Document对象为我们提供了几个常用的方法来获取元素,接下来就让我们去看一看吧。

  1. getElementsByClassName(类名)

  使用 document.getElementsByClassName()方法,可以通过类名去获取元素,参数就是我们想要去获取元素的类名。 例如:

    <div class="box">
                你好,欢迎进入到JS的学习!
        </div>

        var oBox = document.getElementsByClassName("box")
        console.log(oBox)

  但是在输出显示的时候我们就会发现有问题啦,我们输出的并不是当前选中元素,如下图:

图片 1

  这时我们发现oBox所获得的是一个伪数组,不管页面具有这个类名的元素有多少个,获取到的永远是伪数组,想要去获取到某一个具体的元素, 可以通过下标来操作,将前面的代码进行简单的改动,如下:

  var oBox = document.getElementsByClassName("box")

  console.log(oBox[0])

  改动以后的我们就可以获取到想要的具体元素了

图片 2

  有没有感觉到很简单呀,赶着步伐我们再来看看下一个方法吧。

  2. getElementsByTagName(标签名)

  使用 document.getElementsByTagName()方法,可以通过标签名去获取元素,参数就是我们想要去获取元素的标签名。 例如:

    <div>
                你好,欢迎进入到JS的学习!
        </div>
        <p>
                你好,欢迎进入到JS的学习!
        </p>

        var oDiv = document.getElementsByTagName("div")
        console.log(oDiv[0])

  和前面的oBox相同,oDiv获得的也是一个伪数组,想要去获取到某一个具体的元素,可以通过下标来操作,获得的结果如下图:

图片 3

  这就是我们的getElementsByTagName()方法的使用方式啦。

  3. getElementById(ID)

  通过ID名去获取元素,使用 document.getElementById()方法,参数就是我们想要去获取元素的ID名。 例如:

     <div>
                你好,欢迎进入到JS的学习!
        </div>
        <p id="box">
                你好,欢迎进入到JS的学习!
        </p>

        var oId = document.getElementById("box")
        console.log(oId)

  大家有没有发现,在获取ID时,我并没有用到下标呀,和前面的两个方法不同的是,getElementById()获得的只会是单个数据,不是伪数组,因为每个页面的ID通常都是独一无二的,所以这里获取到的就是一个具有 ‘box’ ID 名的标签,获得的结果如下图:

图片 4

  以上就是我们获取元素的几个小方法啦,但是要注意一个小问题哦,这三个方法是有顺序要求的,若放在元素之前则找不到指定数据,getElementById()会返回null,getElementsByTagName()和getElementsByClassName()会返回undefined,所以大家在用这三个方法时一定要注意顺序哦。  那今天就先简单的讲到这里咯,我们下次在捋新的知识点啦。

相关文章

unity快捷键大全

unity射线检测多个物体

unity图集合并成图片

unity富文本字体大小

unity哪个版本免费

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取