前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Web APIs】DOM 文档对象模型 ③ ( 根据类名获取 DOM 元素 - getElementsByClassName 函数 | 代码示例 )

【Web APIs】DOM 文档对象模型 ③ ( 根据类名获取 DOM 元素 - getElementsByClassName 函数 | 代码示例 )

作者头像
韩曙亮
发布2024-06-21 13:43:04
950
发布2024-06-21 13:43:04
举报

本博客相关参考文档 :

一、根据类名获取 DOM 元素

1、根据类名获取 DOM 元素 - getElementsByClassName 函数

根据类名获取 DOM 元素 , 需要 使用 HTML5 新增的方法 , Document.getElementsByClassName 函数获取 ;

  • HTML5 必须是 IE9.0 以上的版本才能使用 ;
  • 注意兼容性 : 如果要开发的网页需要兼容老版本的浏览器 , 如 : IE 678 版本 , 则不能使用该方法 ;

Document.getElementsByClassName 函数 是 获取 文档中所有指定类名的 DOM 元素 , 得到的结果是 HTMLCollection 伪数组对象 , 其中封装了若干 Element 对象 ;

代码语言:javascript
复制
var elements = document.getElementsByClassName(className);

Element.getElementsByClassName 函数 是 获取 Element 元素下的所有 指定类名的 DOM 元素 , 返回结果也是 HTMLCollection 对象 ;

代码语言:javascript
复制
var elements = rootElement.getElementsByClassName(className);

相关参考文档 :

2、代码示例 - 获取 文档中 指定类名的 DOM 元素

在下面的代码中 , 直接调用了 document.getElementsByClassName("box") 函数 , 可以获取整个网页中所有 类名为 'box' 的 DOM 元素 ;

代码示例 :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
</head>

<body>
    <div class='box'>Hello</div>
    <div class='box'>Hello</div>
    <div>Hello</div>

    <div id="nav">
        <div>Hello2</div>
        <div class='box'>Hello2</div>
        <div class='box'>Hello2</div>
    </div>

    <script>
        // 注意 : HTML 文档加载顺序是从上到下加载 
        // 这里要先加载标签 , 然后加载 JavaScript 脚本

        // 获取 nav 下的 class 类名为 box 的元素 , 其它的 元素 不获取 ★
        var elements = document.getElementsByClassName("box");

        // 控制台打印获取结果
        console.log(elements);

        // 遍历 HTMLCollection 中封装的 DOM 元素
        for (var i = 0; i < elements.length; i++) {
            // 打印 DOM 元素
            console.log(elements[i]);

            // 改变 DOM 元素
            elements[i].innerHTML = "你好";
        }
    </script>
</body>

</html>

执行结果 :

3、代码示例 - 获取 Element 元素下指定类名的 DOM 元素

在下面的代码中 ,

先通过调用 Document.getElementById 函数 , 获取 元素 id 为 nav 的 DOM 元素 ;

代码语言:javascript
复制
var element = document.getElementById('nav');

然后通过调用上述 Element 元素的 getElementsByClassName 函数 , 获取元素下的 class 类名为 box 的元素 ;

代码语言:javascript
复制
elements = element.getElementsByClassName("box");

代码示例 :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
</head>

<body>
    <div class='box'>Hello</div>
    <div class='box'>Hello</div>
    <div>Hello</div>

    <div id="nav">
        <div>Hello2</div>
        <div class='box'>Hello2</div>
        <div class='box'>Hello2</div>
    </div>

    <script>
        // 注意 : HTML 文档加载顺序是从上到下加载 
        // 这里要先加载标签 , 然后加载 JavaScript 脚本

        // 只获取 nav 下的 class 类名为 box 的元素
        // 先通过 id 获取 Element
        var element = document.getElementById('nav');

        // 获取 nav 下的 class 类名为 box 的元素 , 其它的 元素 不获取 ★
        var elements = element.getElementsByClassName("box");

        // 控制台打印获取结果
        console.log(elements);

        // 遍历 HTMLCollection 中封装的 DOM 元素
        for (var i = 0; i < elements.length; i++) {
            // 打印 DOM 元素
            console.log(elements[i]);

            // 改变 DOM 元素
            elements[i].innerHTML = "你好";
        }
    </script>
</body>

</html>

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、根据类名获取 DOM 元素
    • 1、根据类名获取 DOM 元素 - getElementsByClassName 函数
      • 2、代码示例 - 获取 文档中 指定类名的 DOM 元素
        • 3、代码示例 - 获取 Element 元素下指定类名的 DOM 元素
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档