首页 > 其他分享 >js对DOM 的操作

js对DOM 的操作

时间:2025-01-13 22:32:46浏览次数:1  
标签:style DOM 样式 classList js 操作 div element 属性

js操作的DOM 可以分为三个类型
1.属性操作
2.css类
3.样式

首先列举一下js获取DOM的方法

访问单个元素的方法
document.querySelector()
document.getElementById()
访问所有元素的方法
document.querySelectorAll()
document.getElementsByClassName()
document.getElementsByTagName()

一.修改属性
属性是包含有关 HTML 元素的附加信息的值。 它们通常以 名称/值 对的形式出现,并且可能是必不可少的,具体取决于元素。

方法 描述 例子
hasAttribute() 返回 true 或 false 布尔值 element.hasAttribute('href');
getAttribute() 返回指定属性的值或 null element.getAttribute('href');
setAttribute() 添加或更新指定属性的值 element.setAttribute('href', 'index.html');
removeAttribute() 从元素中移除一个属性 element.removeAttribute('href');

二.修改css类
CSS 类用于将样式应用于多个元素,这与每个页面只能存在一次的 ID 不同。 在 JavaScript 中,我们有 className 和 classList 属性来处理类属性。

方法/属性 描述 例子
className 获取或设置类值 element.className;
classList.add() 添加一个或多个类值 element.classList.add('active');
classList.toggle() 打开或关闭课程 element.classList.toggle('active');
classList.contains() 检查类值是否存在 element.classList.contains('active');
classList.replace() 用新的类值替换现有的类值 element.classList.replace('old', 'new');
classList.remove() 删除类值 element.classList.remove('active');

三.修改样式
编辑样式的一种方法是使用 setAttribute()。

// 选中元素
const div = document.querySelector('div');

// 设置样式
div.setAttribute('style', 'text-align: center');

但是,这将从元素中删除所有现有的内联样式。 由于这可能不是预期的效果,最好直接使用 style 属性

div.style.height = '100px';
div.style.width = '100px';
div.style.border = '2px solid black';

CSS 属性是用 kebab-case 编写的,它是用破折号分隔的小写单词。 需要注意的是,kebab-case CSS 属性不能用于 JavaScript 样式属性。 相反,它们将被替换为等效的驼峰式,即第一个单词是小写的,而所有后续单词都是大写的。 换句话说,我们将使用 textAlign 代替 text-align 作为 JavaScript 样式属性。

// Make div into a circle and vertically center the text
div.style.borderRadius = '50%';
div.style.display = 'flex';
div.style.justifyContent = 'center';
div.style.alignItems = 'center';

如果要对一个元素应用许多样式更改,最好的做法是将样式应用到一个类并添加一个新类。 但是,在某些情况下,修改内联样式属性是必要的或更直接的。

标签:style,DOM,样式,classList,js,操作,div,element,属性
From: https://www.cnblogs.com/imlaoxie/p/18669553

相关文章

  • Vue.js组件开发-实现图片裁剪
    在Vue.js中开发一个图片裁剪组件,可以使用cropperjs库,它是一个功能强大的JavaScript库,专门用于图片裁剪。在Vue项目中,可以通过vue-cropperjs这个Vue包装器来更方便地使用cropperjs。步骤:1.安装依赖首先,需要安装cropperjs和vue-cropperjs:npminstallcropperjsvue-cropperj......
  • 我反向操作鸽掉腾讯音乐,只因为觉的...
    大家好,我是土哥。之前有位同学,在土哥的辅导下,居然飘了,当腾讯酷我音乐HR看完他的简历后,想邀约他面试,他直接一口回绝了。给的理由如下:目前只想面腾讯QQ音乐或者腾讯内部的岗位大厂流程已经到offer审核阶段了基于上述两个条件,所以暂时放弃面试。当土哥看到他的回......
  • 操作系统简答题汇总——期末复习
    第一章1.中断是什么?中断在OS中所起的作用?定义:中断是指当某个突发事件(例如I/O结束、请求系统服务等)发生时,CPU中断当前程序的执行,转而执行处理该事件的服务程序,处理完毕后返回被中断的程序继续执行的过程。作用:①中断机制使得操作系统具备应对处理突发随机事件的能力,......
  • JSP篮球论坛网站设计与实现8lb36(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义篮球运动在全球范围内拥有广泛的爱好者群体,他们渴望有一个交流心得、分享比赛视频的互动平台。然而,现有的篮球论坛大多功能单一......
  • JSP昆明城市学院勤工俭学网emasw--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景随着高等教育的普及,越来越多的学生选择通过勤工俭学来减轻家庭经济负担并积累实践经验。昆明城市学院作为一所位于昆明市的高校,学生勤......
  • Pinokio v3.2.0 支持目前主流的大部分AI项目,操作极其简单
    这个工具全部都是免费的。我记得之前有个叫什么白的工具貌似还收费,这个基本上你听说过的AI开源项目它都有,而且还是一键安装。一个工具整合AI绘画、AI视频、AI语音,还有AI数字人的工具:AI绘画,又能AI对话、AI视频生成、AI语音生成,还能AI数字人支持Windows、Mac、Linux......
  • JSP老年保健品销售系统97578--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景及意义随着人口老龄化的加剧,老年保健品市场需求不断增长。然而,传统的销售方式已经无法满足现代老年人的购物需求。因此,开发一个高效、......
  • JSP篮球学员信息管理系统i5o70(程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、项目背景与意义随着篮球运动的普......
  • JSP兰州市邮政公司新邮预订户管理信息系统pk277(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称兰州市邮政公司新邮预订户管理信息系统二、研究背景与意义随着电子商务的快速发展和人们对快递服务需求的增加,邮政公司成为现代社会......
  • JSP课堂考勤管理系统(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、项目背景随着教育信息化的快速发......