前端学习-获取DOM对象(二十一)

目录

前言

目标

提问

学习路径

根据CSS选择器来获取DOM元素

其他获取DOM元素的方法

根据CSS选择器来获取DOM元素

选择匹配的第一个元素

语法

示例

参数

返回值

选择匹配的多个元素语法

参数

字符串返回值

示例

补充

其它获取DOM元素方法

根据id获取一个元素

[根据 标签获取一类元素 获取页面 所有div](#根据 标签获取一类元素 获取页面 所有div)

[根据 类名获取元素 获取页面 所有类名为 w的](#根据 类名获取元素 获取页面 所有类名为 w的)

总结


前言

雄关漫道真如铁,而今迈步从头越


目标

能获取/查找DOM对象

提问

我们想要操作某个标签首先做什么?

肯定首先选中这个标签,跟 CSS选择器类似,选中标签才能操作

查找元素DOM元素就是利用 js 选择页面中标签元素

学习路径

根据CSS选择器来获取DOM元素

其他获取DOM元素的方法

根据CSS选择器来获取DOM元素

选择匹配的第一个元素

语法

html 复制代码
document.querySelector('css选择器');

示例

html 复制代码
<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

</head>

<style>

.box {

​ width: 100px;

​ height: 100px;

}

</style>

<body>

<div class="box"></div>

<script>

​ //获取匹配的第一个元素

​ const box = document.querySelector('div');

​ console.dir(box);

​ console.log(box);

</script>

</body>

</html>

参数

包含一个或多个有效的CSS选择器 字符串

返回值

CSS选择器匹配的第一个元素,一个HTMLElement对象

选择匹配的多个元素语法

html 复制代码
:document.querySelectorAll('css选择器')

参数

包含一个或多个有效的CSS选择器

字符串返回值

CSS选择器匹配的NodeList 对象集合document.queryselectorAll('ul li')

示例

html 复制代码
<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

</head>

<style>

.box {

​ width: 100px;

​ height: 100px;

}

</style>

<body>

<div class="box"></div>

<ul>

​ <li>1</li>

​ <li>2</li>

​ <li>3</li>

</ul>

</ul>

<script>

​ const box = document.querySelectorAll('ul li');

​ console.dir(box);

​ console.log(box);

</script>

</body>

</html>

补充

document.querySelectorAll('css选择器')得到的是一个伪数组有长度有索引号的数组但是没有 pop() push() 等数组方法想要得到里面的每一个对象,则需要遍历(for)的方式获得。

注意事项哪怕只有一个元素,通过querySelectAll()获取过来的也是一个伪数组,里面只有一个元素而已

其它获取DOM元素方法

根据id获取一个元素

document.getElementById('nav')

根据 标签获取一类元素 获取页面 所有div

document.getElementsByTagName('div')

根据 类名获取元素 获取页面 所有类名为 w的

document.getElementsByClassName('w')


总结

我很久以前很喜欢的一个人告诉我她恋爱了,我却只能恭喜恭喜

相关推荐
用户904438163246042 分钟前
90%前端都踩过的JS内存黑洞:从《你不知道的JavaScript》解锁底层逻辑与避坑指南
前端·javascript·面试
CodeCraft Studio1 小时前
文档开发组件Aspose 25.12全新发布:多模块更新,继续强化文档、图像与演示处理能力
前端·.net·ppt·aspose·文档转换·word文档开发·文档开发api
im_AMBER1 小时前
Leetcode 74 K 和数对的最大数目
数据结构·笔记·学习·算法·leetcode
DBA小马哥1 小时前
Oracle迁移实战:如何轻松跨越异构数据库的学习与技术壁垒
数据库·学习·oracle·信创·国产化平替
PPPPickup2 小时前
easychat项目复盘---获取联系人列表,联系人详细,删除拉黑联系人
java·前端·javascript
老前端的功夫2 小时前
前端高可靠架构:医疗级Web应用的实时通信设计与实践
前端·javascript·vue.js·ubuntu·架构·前端框架
【上下求索】2 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
前端大卫2 小时前
【重磅福利】学生认证可免费领取 Gemini 3 Pro 一年
前端·人工智能
孜燃2 小时前
Flutter APP跳转Flutter APP 携带参数
前端·flutter
脾气有点小暴3 小时前
前端页面跳转的核心区别与实战指南
开发语言·前端·javascript