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


一、根据类名获取 DOM 元素



 

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

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

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

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

<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-js"><span style="color:#cc99cc">var</span> elements <span style="color:#99cc99">=</span> document<span style="color:#999999">.</span><span style="color:#6699cc">getElementsByClassName</span><span style="color:#999999">(</span>className<span style="color:#999999">)</span><span style="color:#999999">;</span>
</code></span></span>

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

<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-js"><span style="color:#cc99cc">var</span> elements <span style="color:#99cc99">=</span> rootElement<span style="color:#999999">.</span><span style="color:#6699cc">getElementsByClassName</span><span style="color:#999999">(</span>className<span style="color:#999999">)</span><span style="color:#999999">;</span>
</code></span></span>

相关参考文档 :

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

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

代码示例 :

<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-html"><span style="color:#f99157"><span style="color:#999999"><!</span>DOCTYPE html<span style="color:#999999">></span></span>
<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>html</span> <span style="color:#ffcc66">lang</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">"</span>en<span style="color:#999999">"</span></span><span style="color:#999999">></span></span>

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

<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>body</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span><span style="color:#999999">></span></span>Hello<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>

    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">id</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">"</span>nav<span style="color:#999999">"</span></span><span style="color:#999999">></span></span>
        <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span><span style="color:#999999">></span></span>Hello2<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
        <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello2<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
        <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello2<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>

    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>script</span><span style="color:#999999">></span></span>
        <span style="color:#999999">// 注意 : HTML 文档加载顺序是从上到下加载 </span>
        <span style="color:#999999">// 这里要先加载标签 , 然后加载 JavaScript 脚本</span>

        <span style="color:#999999">// 获取 nav 下的 class 类名为 box 的元素 , 其它的 元素 不获取 ★</span>
        <span style="color:#cc99cc">var</span> elements <span style="color:#99cc99">=</span> document<span style="color:#999999">.</span><span style="color:#6699cc">getElementsByClassName</span><span style="color:#999999">(</span><span style="color:#99cc99">"box"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

        <span style="color:#999999">// 控制台打印获取结果</span>
        console<span style="color:#999999">.</span><span style="color:#6699cc">log</span><span style="color:#999999">(</span>elements<span style="color:#999999">)</span><span style="color:#999999">;</span>

        <span style="color:#999999">// 遍历 HTMLCollection 中封装的 DOM 元素</span>
        <span style="color:#cc99cc">for</span> <span style="color:#999999">(</span><span style="color:#cc99cc">var</span> i <span style="color:#99cc99">=</span> <span style="color:#f99157">0</span><span style="color:#999999">;</span> i <span style="color:#99cc99"><</span> elements<span style="color:#999999">.</span>length<span style="color:#999999">;</span> i<span style="color:#99cc99">++</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
            <span style="color:#999999">// 打印 DOM 元素</span>
            console<span style="color:#999999">.</span><span style="color:#6699cc">log</span><span style="color:#999999">(</span>elements<span style="color:#999999">[</span>i<span style="color:#999999">]</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

            <span style="color:#999999">// 改变 DOM 元素</span>
            elements<span style="color:#999999">[</span>i<span style="color:#999999">]</span><span style="color:#999999">.</span>innerHTML <span style="color:#99cc99">=</span> <span style="color:#99cc99">"你好"</span><span style="color:#999999">;</span>
        <span style="color:#999999">}</span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>script</span><span style="color:#999999">></span></span>
<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>body</span><span style="color:#999999">></span></span>

<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>html</span><span style="color:#999999">></span></span>
</code></span></span>

执行结果 :

在这里插入图片描述

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

在下面的代码中 ,

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

<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-js"><span style="color:#cc99cc">var</span> element <span style="color:#99cc99">=</span> document<span style="color:#999999">.</span><span style="color:#6699cc">getElementById</span><span style="color:#999999">(</span><span style="color:#99cc99">'nav'</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
</code></span></span>
  • 1

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

<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-js">elements <span style="color:#99cc99">=</span> element<span style="color:#999999">.</span><span style="color:#6699cc">getElementsByClassName</span><span style="color:#999999">(</span><span style="color:#99cc99">"box"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
</code></span></span>

代码示例 :

<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-html"><span style="color:#f99157"><span style="color:#999999"><!</span>DOCTYPE html<span style="color:#999999">></span></span>
<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>html</span> <span style="color:#ffcc66">lang</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">"</span>en<span style="color:#999999">"</span></span><span style="color:#999999">></span></span>

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

<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>body</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span><span style="color:#999999">></span></span>Hello<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>

    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">id</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">"</span>nav<span style="color:#999999">"</span></span><span style="color:#999999">></span></span>
        <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span><span style="color:#999999">></span></span>Hello2<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
        <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello2<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
        <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>div</span> <span style="color:#ffcc66">class</span><span style="color:#99cc99"><span style="color:#999999">=</span><span style="color:#999999">'</span>box<span style="color:#999999">'</span></span><span style="color:#999999">></span></span>Hello2<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>div</span><span style="color:#999999">></span></span>

    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"><</span>script</span><span style="color:#999999">></span></span>
        <span style="color:#999999">// 注意 : HTML 文档加载顺序是从上到下加载 </span>
        <span style="color:#999999">// 这里要先加载标签 , 然后加载 JavaScript 脚本</span>

        <span style="color:#999999">// 只获取 nav 下的 class 类名为 box 的元素</span>
        <span style="color:#999999">// 先通过 id 获取 Element</span>
        <span style="color:#cc99cc">var</span> element <span style="color:#99cc99">=</span> document<span style="color:#999999">.</span><span style="color:#6699cc">getElementById</span><span style="color:#999999">(</span><span style="color:#99cc99">'nav'</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

        <span style="color:#999999">// 获取 nav 下的 class 类名为 box 的元素 , 其它的 元素 不获取 ★</span>
        <span style="color:#cc99cc">var</span> elements <span style="color:#99cc99">=</span> element<span style="color:#999999">.</span><span style="color:#6699cc">getElementsByClassName</span><span style="color:#999999">(</span><span style="color:#99cc99">"box"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

        <span style="color:#999999">// 控制台打印获取结果</span>
        console<span style="color:#999999">.</span><span style="color:#6699cc">log</span><span style="color:#999999">(</span>elements<span style="color:#999999">)</span><span style="color:#999999">;</span>

        <span style="color:#999999">// 遍历 HTMLCollection 中封装的 DOM 元素</span>
        <span style="color:#cc99cc">for</span> <span style="color:#999999">(</span><span style="color:#cc99cc">var</span> i <span style="color:#99cc99">=</span> <span style="color:#f99157">0</span><span style="color:#999999">;</span> i <span style="color:#99cc99"><</span> elements<span style="color:#999999">.</span>length<span style="color:#999999">;</span> i<span style="color:#99cc99">++</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>
            <span style="color:#999999">// 打印 DOM 元素</span>
            console<span style="color:#999999">.</span><span style="color:#6699cc">log</span><span style="color:#999999">(</span>elements<span style="color:#999999">[</span>i<span style="color:#999999">]</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

            <span style="color:#999999">// 改变 DOM 元素</span>
            elements<span style="color:#999999">[</span>i<span style="color:#999999">]</span><span style="color:#999999">.</span>innerHTML <span style="color:#99cc99">=</span> <span style="color:#99cc99">"你好"</span><span style="color:#999999">;</span>
        <span style="color:#999999">}</span>
    <span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>script</span><span style="color:#999999">></span></span>
<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>body</span><span style="color:#999999">></span></span>

<span style="color:#f2777a"><span style="color:#f2777a"><span style="color:#999999"></</span>html</span><span style="color:#999999">></span></span>
</code></span></span>

​​​​​​​​​​​​​​

执行结果 :

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计一个webapis学生报名系统的代码步骤如下: 1. 数据库设计:首先确定需要存储的数据,例如学生的基本信息,课程信息等。根据需求设计数据库表结构,并创建相应的表。 2. 后端接口设计:根据系统需求,设计后端接口,包括学生信息的录入、查询、修改和删除等功能。使用合适的编程语言,如Java、Python等,实现这些接口。 3. 前端界面设计:设计一个用户友好的前端界面,包括学生报名表单和查询功能。使用HTML、CSS、JavaScript等技术实现界面的布局和交互,确保用户能够方便地输入和查询信息。 4. 前后端交互:通过AJAX或其他技术,实现前后端的数据交互。前端向后端发送请求,后端处理请求并返回相应的数据。 5. 学生信息录入:在前端界面设计好的报名表单中,用户输入个人信息,通过调用后端接口将数据传递到后台。后台接收并验证输入的数据,并将学生信息存储到数据库中。 6. 学生信息查询:在前端界面设计好的查询功能中,用户输入需要查询的条件,通过调用后端接口将查询条件传递到后台。后台根据查询条件在数据库中查找匹配的学生信息,并将查询结果返回给前端。 7. 学生信息修改和删除:在前端界面设计好的修改和删除功能中,用户选择需要修改或删除的学生信息,并通过调用后端接口将相应的操作请求传递到后台。后台根据请求进行相应的操作,更新或删除数据库中的对应数据。 8. 错误处理和数据校验:在整个系统设计过程中,需要考虑错误处理和数据校验。在后端接口中,对输入的数据进行合法性检查,确保输入的数据符合要求。在前端界面中,对用户的输入进行格式验证,及时反馈给用户。 9. 安全性保障:为了保障系统的安全性,可以采用身份认证、权限控制等机制,确保只有授权的用户能够进行报名和查询等操作。 10. 测试和部署:在完成系统开发后,进行系统的测试和调试。确保系统的正确性和稳定性。最后将系统部署到服务器上,供用户使用。 以上是一个简单的webapis学生报名系统代码步骤,具体实现还需要根据具体需求进行调整和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值