2.获取DOM元素

news2025/4/9 13:27:22

获取DOM元素就是利用JS选择页面中的标签元素

2.1 根据CSS选择器来获取DOM元素(重点)

2.1.1选择匹配的第一个元素

语法:

document.querySelector( 'css选择器' )

参数:
包含一个或多个有效的CSS选择器 字符串
返回值:
CSS选择器匹配的第一个元素,一个HTMLElement对象。
如果没有匹配到,则返回null。

2.1.2选择匹配的多个元素

语法:

document.querySelectorAll( 'css选择器' )

参数:
包含一个或多个有效的CSS选择器 字符串
返回值:
CSS选择器匹配的 NodeList 对象集合

【示例】

<body>
    <div class="box">abc</div>
    <div class="box">123</div>
    <p id="nav">导航栏</p>
    <ul>
        <li>1</li>
        <li>2</li>
    </ul>
    <script>
        // 1.获取 div 匹配的第一个元素
        const box = document.querySelector('div')
        // const box = document.querySelector('.box')
        console.dir(box)
        // 2.获取 p
        const nav = document.querySelector('p')
		// const nav = document.querySelector('#nav')
        console.dir(nav)
        // 3.获取第一个 li
        const li = document.querySelector('ul li:first-child')
        console.dir(li)
        // 4.获取所有的 li
        const lis = document.querySelectorAll('ul li')
        console.dir(lis)
    </script>
</body>

在这里插入图片描述

2.1.3伪数组

querySelectorAll() 得到的是一个 伪数组
➢有长度、有索引号的数组
➢但是没有pop() push() 等数组方法
想要得到里面的每一个对象,需要遍历 (for) 的方式获得。
哪怕只有一个元素,通过querySelectAll()获取过来的也是一个伪数组,只是里面只有一个元素而已

遍历打印所有的小li :
【示例代码】

<body>
    <ul class="nav">
        <li>我的首页</li>
        <li>产品信息</li>
        <li>联系方式</li>
    </ul>
    <script>
        // 方法1
        const lis = document.querySelectorAll('.nav li')
        for (let i = 0; i < lis.length; i++) {
            console.dir(lis[i])
        }
        // 方法2
        // for (let i = 1; i <= 3; i++) {
        //     const li = document.querySelector(`ul li:nth-child(${i})`)
        //     console.dir(li)
        // }
    </script>
</body>

在这里插入图片描述
注意
(1)获取一个DOM元素用querySelector(),能直接操作修改
(2)获取多个DOM元素用querySelectorAll(),不能直接操作修改,只能通 过遍历的方式给里面的元素做修改

2.2 其他获取DOM元素方法(了解)

//根据id获取一个元素
document.getElementById( 'nav' )
//根据 标签 获取一类元素 获取页面所有div
document.getElementsByTagName( 'div' )
//根据 类名 获取元素 获取页面所有类名为w的
document.getElementsByClassName( 'w' )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/800709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker基础7——harbor私有仓库

文章目录 一、基本了解二、搭建私有仓库2.1 基于官方镜像搭建2.2 基于harbor 一、基本了解 大部分企业都会搭建一个内部使用得私有仓库&#xff0c;用于保存docker镜像&#xff0c;包括镜像的层次结构和元数据。 Docker Registry分类&#xff1a; 企业版EE。官方docker hub仓库…

【雕爷学编程】MicroPython动手做(10)——零基础学MaixPy之神经网络KPU

早上百度搜“神经网络KPU”&#xff0c;查到与非网的一篇文章《一文读懂APU/BPU/CPU/DPU/EPU/FPU/GPU等处理器》&#xff0c;介绍各种处理器非常详细&#xff0c;关于“KPU”的内容如下&#xff1a; KPU Knowledge Processing Unit。 嘉楠耘智&#xff08;canaan&#xff09;号…

了解11种常见的字符编码格式及其使用场景,让数据传输不再出现问题

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 前言 在有一次SDK开发中&#xff0c;…

选读SQL经典实例笔记14_层次查询

1. 结果集 1.1. sql select empno,mgrfrom emp order by 2EMPNO MGR ---------- ----------7788 75667902 75667499 76987521 76987900 76987844 76987654 76987934 77827876 77887566 78397782 7…

React之生命周期

React之生命周期 旧版本&#xff0c;函数组件是没有生命周期的。新版本中通过useEffect触发函数的生命周期 一、基于类组件的生命周期 React的组件生命周期分为挂载阶段、更新阶段和销毁阶段。因为React的state不具有Vue的响应式&#xff0c;所以并没有create阶段 1、挂载阶段&…

Linux学习之循环处理位置参数

for处理位置参数 loopPositionFor.sh里边的内容如下&#xff1a; #!/bin/bash# show learningfor inputString in $* doif [ "${inputString}" "good" ];thenecho "learning"fi donechmod urx loopPositionFor.sh给当前用户把loopPositionFor…

linux NDK交叉编译rtmp 与 ffmpeg+rtmp交叉编译(v7a,v8a) 完成流程

最近在学RTMP,记录一下完成的编译流程 我是mac 电脑,但是mac上编译一直通过不了,后来才换到服务器上编译, 其实mac也能编译,只是最开始踩到坑里面了… 这里记录一下linux编译完整流程 环境: NDK: android-ndk-r17cFfmpeg: ffmpeg4.2.2 (高版本也可以编译)system: mac 1. …

HCIA实验四

一.实验要求&#xff1a; 1、R4为ISP&#xff0c;其上只能配置IP地址&#xff1b;R4与其他所有直连设备间均使用共有IP&#xff1b; 2、R3 - R5/6/7为MGRE环境&#xff0c;R3为中心站点&#xff1b; 3、整个网络配置OSPF环境&#xff0c;IP基于172.16.0.0/16网段划分&#x…

分享5个AI办公新玩法,1行Python代码免费实现!

大家好&#xff0c;这里是程序员晚枫&#xff0c;小破站也叫这个名。 随着ChatGPT的兴起&#xff0c;AI办公也越来越火&#xff0c;今天给大家分享5个AI办公的第三方库&#xff0c;不仅全部免费而且都可以用1行Python代码启动。 赶紧去看看吧&#xff01; 1、智能聊天机器人…

关于minio的简单使用

最近在学习minio相关知识&#xff0c;小小的记录一下学习内容 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等…

【自动化测试】Selenium IDE脚本编辑与操作

之前&#xff0c;我们录制脚本时是录制鼠标和键盘的所有在浏览器的操作&#xff0c;那么脚本会出现多余的步骤&#xff0c;有时候我们需要手动填写脚本或修改脚本&#xff0c;所以我们有必要对selenium IDE脚本编辑与操作有所了解&#xff1b;&#xff08;采用录制的方式很容易…

如何解决大数据下滚动页面卡顿问题

原文合集地址如下&#xff0c;有需要的朋友可以关注 本文地址 合集地址 前言 之前遇到不分页直接获取到全部数据&#xff0c;前端滚动查看数据&#xff0c;页面就听卡顿的&#xff0c;当然这和电脑浏览器性能啥的还是有点关系。但根源还是一次性渲染数据过多导致的&#xf…

【Git】初始化仓库配置与本地仓库提交流程

目录 一、仓库配置邮箱与用户名 二、本地仓库提交流程 一、仓库配置邮箱与用户名 【Git】Linux服务器Centos环境下安装Git与创建本地仓库_centos git仓库搭建_1373i的博客-CSDN博客https://blog.csdn.net/qq_61903414/article/details/131260033?spm1001.2014.3001.5501 在…

JavaScript基础篇(61-70题)

此文章&#xff0c;来源于印客学院的资料【第一部分&#xff1a;基础篇(105题)】&#xff0c;也有一些从网上查找的补充。 这里只是分享&#xff0c;便于学习。 诸君可以根据自己实际情况&#xff0c;自行衡量&#xff0c;看看哪里需要加强。 概述如下&#xff1a; 希望获取…

2023年深圳杯A题赛题详细解析1.1版本

A题 影响城市居民身体健康的因素分析 附件A1是某市卫生健康研究部门对部分居民所做的“慢性非传染性疾病及其相关影响因素流行病学”调查问卷表&#xff0c;附件A2是相应的调查数据结果&#xff0c;附件A3是中国营养学会最新修订的《中国居民膳食指南》中为平衡居民膳食提出的…

UG NX二次开发(C#)-参数化修改三维模型中的文字

文章目录 1、前言2、在UG NX中创建一个带文字的三维模型3、创建一个UI界面4、 NXOpen二次开发实现5、测试1、前言 在UG NX中通过表达式不仅能修改尺寸参数、位置参数,也能修改文字,通过设计一个UI 界面,使得文字根据输入值的变化而变化,本文就针对三维模型中得文字来讲一下…

LeakCanary内存泄漏检测框架分析。

一、什么叫内存泄漏、内存溢出&#xff1f; 内存溢出(out of memory)&#xff1a;是指程序在申请内存时&#xff0c;没有足够的内存空间供其使用&#xff0c;出现out of memory&#xff1b;比如申请了一个integer,但给它存了long才能存下的数&#xff0c;那就是内存溢出。 内…

JavaEE——Bean的生命周期

目录 1、实例化Bean 2、设置Bean的属性 3、初始化Bean &#xff08;1&#xff09;、执行通知 &#xff08;2&#xff09;、初始化的前置方法 &#xff08;3&#xff09;、初始化方法 &#xff08;4&#xff09;、执行自定义方法 &#xff08;5&#xff09;、初始化的后置…

js读取接口返回的最快的那一个

promise.race 顾名思义&#xff0c;Promse.race就是赛跑的意思&#xff0c;意思就是说&#xff0c;Promise.race([p1, p2, p3])里面哪个结果获得的快&#xff0c;就返回那个结果&#xff0c;不管结果本身是成功状态还是失败状态。 Promise.race([this.$axios.get("api/on…

UiPath-TTS

UiPath-Text to Speech既TTS应用 缘起原理法一 - Invoke Method法二 - Invoke Code 总结 缘起 不知道大家有没有使用过Excel的Read Cell功能或者智能音箱&#xff0c;实用性因场景而异&#xff0c;但是很好玩。回到RPA应用中&#xff0c;大家想象一下&#xff0c;如果你给自己…