DOM - Document Object Model
一整套操作文档流的属性和方法
操作页面的标签(元素)
操作标签的增删改查
操作标签的属性(id, class, type, …)
操作标签的样式
…认识一些内容
-document:文档流,页面,根节点,但不是元素(标签)
-html:承载所有标签的最大的元素,根元素节点
-head:专门承载当前页面的说明标签,这里的内容一般不显示在页面上
-body:专门承载当前页面的显示标签,真实显示在网页的内容
获取元素
用一个变量保存页面中的某个或者某些元素
获取元素的方法分为两类
1、获取非常规元素
- html:document.documentElement
- head:document.head
- body:document.body
2、获取常规元素
根据 id 获取元素
语法:document.getElementById
返回值:如果页面上有 id 对应的元素,那么就是这个元素,如果没有就是 null根据 类名 获取元素
语法:document.getElementsByClassName(‘元素类名’)
返回值:必然是一个伪数组
如果页面上有 类名 对应的元素, 那么有多少获取多少, 放在伪数组内返回
如果页面上没有 类名 对应的元素, 那么就是一个空的伪数组根据 标签名 获取元素
语法:document.getElementsByTagName(‘标签名’)
返回值:必然是一个伪数组
如果页面上有 标签名 对应的元素, 那么有多少获取多少, 放在伪数组内返回
如果页面上没有 标签名 对应的元素, 那么就是一个空的伪数组根据选择器获取 一个 标签
语法:document.querySelector(‘选择器’)
返回值:如果页面上有 选择器 对应的元素, 那么返回选择器对应的第一个元素
如果页面上没有 选择器 对应的元素, 那么就是 null根据选择器获取 一组 标签
语法:document.querySelectorAll(‘选择器’)
返回值:必然是一个伪数组
如果页面上有 选择器 对应的元素, 有多少获取多少, 放在一个伪数组内返回
如果页面上没有 选择器 对应的元素, 那么就是一个空的伪数组
操作元素样式
在 JS 内操作元素样式有三种
1、获取元素行内样式(只能获取到行内样式)
2、获取元素非行内样式(包含行内和非行内)
3、设置元素的样式(只能设置行内样式)
注意:涉及到带有中划线的样式名的时候
转换成驼峰命名法
使用数组关联语法获取元素行内样式
语法:元素.style.样式名
console.log(ele.style.width) console.log(ele.style.height) // 非行内样式 console.log(ele.style.fontSize) console.log(ele.style['font-size'])
- ·获取元素非行内样式
语法:window.getComputedStyle(要获取样式的元素).样式名
console.log(window.getComputedStyle(ele).width) console.log(window.getComputedStyle(ele).height) console.log(window.getComputedStyle(ele).fontSize) console.log(window.getComputedStyle(ele)['background-color'])
- 设置元素样式(只能设置行内样式)
语法:元素.style.样式名 = 样式值
ele.style.backgroundColor = 'red'
操作元素类名
目的:批量给变样式
className
原生属性的操作
因为 JS 内有一个关键子叫做class,为了避开改名叫做className
注意:类名的值是一个字符串, 但是字符串中可能包含多个类名classList
每一个 元素节点 身上自带一个属性叫做classList
是一个类似素组的数据结构,存放的是该元素的所有类名
增删改查都是对 classList 的操作,给出专用的api
增:元素.classList.add(类名)
删:元素.classList.remove(类名)
切换:元素.classList.toggle(类名)
-原先有就删除,原先没有就增加
相关推荐:【JavaScript视频教程】
以上是详解JavaScript如何操作元素属性,样式和类名的详细内容。更多信息请关注PHP中文网其他相关文章!

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。 1.Python以简洁语法和丰富库生态着称,适用于数据分析和Web开发。 2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。

如何在Quartz中提前发送任务通知在使用Quartz定时器进行任务调度时,任务的执行时间是由cron表达式设定的。现�...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能