[JS]DOM元素

介绍

DOM(Document Object Model---文档对象模型) 是浏览器提供的一套专门用来操作网页内容的API

DOM树

把HTML文档以树状结构直观的表现出来, 称为文档数或者DOM树, DOM树直观的展示了标签与标签的关系

DOM对象

浏览器根据html标签生成的JS对象称为DOM对象

document对象

document对象是DOM中最顶级的对象, 网页中的所有内容都在document对象里面, 它提供的属性和方法都是用来操作网页内容的

获取元素

  1. 通过id名获取元素: getElementByld('nav'); //返回的是一个对象.
  2. 通过标签名获取元素: getElementsByTagName('div'); //返回的结果是伪数组.
  3. 通过类名获取元素: getElementsByClassName('box'); //返回的结果是伪数组.
  4. 通过选择器获取元素: querySelector('css选择器'); //返回指定选择器的第一个元素;
  5. 通过选择器获取元素: querySelectorAll('css选择器'); //返回指定选择器的所有元素(伪数组);
  6. 获取body元素: document.body;
  7. 获取html元素: document.documentElement;

操作元素内容

DOM对象都是根据标签生成的, 所以操作标签, 本质上就是操作DOM对象

innerHTML

识别HTML标签, W3C标准推荐使用, 读写时标签, 空格/换行全部保留.

const box = document.querySelector('.box')
// 获取标签内容
const str = box.innerHTML
// 设置标签内容
box.innerHTML = '我是<strong>新内容</strong>'
innerText

不识别html标签, 会把标签打印出来, 读写时标签/空格/换行全部去除.

const box = document.querySelector('.box')
// 获取标签内容
const str = box.innerText
// 设置标签内容
box.innerText = '我是新内容'

操作元素属性

1.0操作元素常用属性

通过JS设置/修改标签元素的属性, 比如 href title src ...

const pic = document.querySelector('img')
pic.src = './imgae/b02.jpg'
pic.title = '我是刘德华'
2.0操作元素样式属性

element.style

通过操作行内样式修改元素, 操作样式较少时使用, 且权重较高

// 元素.style.样式属性 = '值' 
const box = document.querySelector('.box')
// 一定要带css单位
box.style.width = '300px'
// 多组单词采用小驼峰命名
box.style.backgroundColor = 'red'

element.className

通过操作类名修改元素, 新的值会覆盖旧的值, 如果添加一个类, 注意保留旧的类名, 可以修改多个样式

// 元素.className = 'active'
const box = document.querySelector('.box')
// 覆盖类名
box.className = '新类名'
// 防止之前的类名丢失
box.className = '旧类名 新类名'

element.classList

通过追加和删除类名实现样式的操作, 适合修改多个样式, 推荐使用

const box = document.querySelector('.box')
// 获取元素类名
box.classList;
// 添加类名(追加类名,不覆盖)
box.classList.add('类名');          
// 删除类名
box.classList.remove('类名');
// 切换类名(有就删除,没有就添加)
box.classList.toggle('类名'); 

3.0操作表单元素属性

表单元素的值使用value属性设置和获取

// 获取值
表单.value
// 设置值
表单.value = '用户名'
// 设置类型
表单.type = 'passworsd'
// 按钮 (特殊的表单元素)
button.innerHTML = '就我特殊'

表单元素的状态使用布尔值控制

// 禁用按钮
const button = document.querySelector('button')
button.disabled = true // 禁用
// 选中单选框
const inp = document.querySelector('input')
inp.checked = true
// 选中下拉框
const opt = document.querySelector('option')
opt.selected = true
4.0自定义属性

元素的属性分为自带的标准属性和开发者添加的自定义属性

// 命名规范: data-xxx
<div data-id="10">盒子</div>

// 设置自定义属性
const box = document.querySelector('div')
box.setAttribute('data-属性名', '属性值')

// 获取自定义属性
box.getAttribute('data-属性名')  // 兼容性更好
box.dataset.属性名  // 更简洁

// 移除自定义属性
box.removeAttribute('data-属性名')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

专业,城市,院校,高考填报志愿的三要素怎么排序?

我认为排序方式可以参考&#xff1a; 城市>学校 同样是计算机专业&#xff0c;不论学校的高低&#xff0c;一线城市更容易接触到时代的前端&#xff0c;有更多学习机会&#xff0c;有更好的文化氛围&#xff0c;同样在就业的时候也更容易接触到企业.... 如果要把专业考虑进…

mybatis中动态sql语句like concat(“%“,#{xm},“%“)

1、动态SQL是一种可以根据不同条件生成不同SQL语句的技术&#xff0c;随着用户输入或外部条件变化而变化的SQL语句 2、SQL语句中的like模糊查询 xm like %小米%&#xff0c;但开发中经常用到 xm like concat("%",#{xm},"%")&#xff0c;可以防止sql注入…

半藏酒商业模式解读,半藏酱酒营销案例,半藏总院分院招商模式

半藏酱酒通过新零售模式&#xff0c;实现销售额快速增长。其模式包括私域营销、共享门店和DTC模式 入局酱酒市场短短4个月&#xff0c;销售额便破亿&#xff0c;15个月销售额突破6亿&#xff0c;还成立了700多家分院… 主要步骤是三个身份&#xff1a;分院、联创股东、个人股东…

Java毕设服务工作室

Java毕设服务工作室&#xff1a;专注提供高质量Java代码解决方案 在Java编程领域&#xff0c;毕业设计&#xff08;毕设&#xff09;项目往往需要大量的代码编写和调试。为了让同学们能够更专注于项目的核心逻辑和技术实现&#xff0c;Java毕设服务工作室应运而生&#xff0c;…

AME5268-AZAADJ 3A,28V,340KHz同步整流下行变换器芯片IC

一般说明 AME5268 是一款固定频率单片同步稳压器&#xff0c;可接受4.75V至28V的输入电压。两个低接通电阻的NMOS开关集成在模具上。采用电流模式拓扑结构&#xff0c;具有快速的暂态响应和良好的环路稳定性。 关断模式将输入电源电流降低到小于1μa。可调软启动…

2024系统分析师考试总结

考试缘由 我自己在毕业不久就考过了中级的软件设计师&#xff0c;这几年换到外企后事情不多&#xff0c;今年初定计划的时候就想着不如考个系统分析师吧。为什么选这个类别呢&#xff1f;按道理我主做程序开发&#xff0c;如果去考系统架构师通过率可能会大一些&#xff0c;但…

C++应用例程(判断质数、猜数字、爱心曲线)

一、判断质数 质数也叫素数&#xff0c;是指一个大于1的自然数&#xff0c;因数只有1和它自身。质数是数论中一个经典的概念&#xff0c;很多著名定理和猜想都跟它有关;质数也是现代密码学的基础。 判断一个数是否为质数没有什么规律可言&#xff0c;我们可以通过验证小于它的…

SpringBoot集成Druid数据库连接池并配置可视化界面和监控慢SQL

pom.xml <!-- Druid 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.23</version></dependency>application.yml spring:jackson:date-…

ONLYOFFICE 文档 8.1 发布:重塑文档处理

官网链接&#xff1a;ONLYOFFICE官网 一、PDF编辑器功能强大&#xff1a;创造跟随想象 在追求无界办公与高效创作的今天&#xff0c;ONLYOFFICE再次引领风潮&#xff0c;正式发布了其桌面编辑器的最新版本——ONLYOFFICE桌面编辑器8.1。这一版本不仅巩固了其作为顶级办公套件…

工业数据采集网关特别的功能之处

工业数据采集网关作为工业物联网&#xff08;IIoT&#xff09;系统的核心设备&#xff0c;承担着数据采集、传输和处理的关键任务。其特别功能不仅在于数据采集的广泛性和实时性&#xff0c;更在于其智能化、可扩展性和安全性。以下是工业数据采集网关的一些特别功能及其在工业…

VMware的具体使用

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 目录 一 &#x1f324;️VMware的安…

Nodejs使用mqtt库连接阿里云服务器

建项目 命令行输入&#xff1a; npm init 输入项目名&#xff0c;自动化生成项目列表。 6.3 编写代码 新建mqtt_demo_aliyun.js&#xff0c;代码如下&#xff1a; // mqtt_demo_aliyun.jsconst mqtt require("mqtt"); const connectUrl "ws://post-cn-nw**…

PyTorch实战:借助torchviz可视化计算图与梯度传递

文章目录 Tensor计算的可视化&#xff08;线性回归为例&#xff09; 如何使用可视化库torchviz 安装graphviz软件 安装torchviz库使用 torchviz.make_dot() 在学习Tensor时&#xff0c;将张量y用张量x表示&#xff0c;它们背后会有一个函数表达关系&#xff0c;y的 grad_f…

VMamba: Visual State Space Model论文笔记

文章目录 VMamba: Visual State Space Model摘要引言相关工作Preliminaries方法网络结构2D-Selective-Scan for Vision Data(SS2D) VMamba: Visual State Space Model 论文地址: https://arxiv.org/abs/2401.10166 代码地址: https://github.com/MzeroMiko/VMamba 摘要 卷积神…

【Docker】安装和加速

目录 1.安装 2.了解 docker 信息 3.查询状态 4. 重新启动Docker 1.安装 yum install –y docker 2.了解 docker 信息 cat /etc/redhat-release 3.查询状态 systemctl status docker 4.支持 1.12 的 docker 镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docke…

深入了解 msvcr120.dll问题解决指南,msvcr120.dll在电脑中的重要性

在Windows操作系统中&#xff0c;.dll 文件扮演了非常重要的角色&#xff0c;它们包含许多程序运行所需的代码和数据。其中 msvcr120.dll 是一个常见的动态链接库文件&#xff0c;是 Microsoft Visual C Redistributable Packages 的一部分。这篇文章将探讨 msvcr120.dll 的功能…

生命在于学习——Python人工智能原理(4.4)

三、Python的数据类型 3.2 Python的组合数据类型 特点&#xff1a;表示多个元素的组合&#xff0c;可以包含不同类型的元素&#xff0c;甚至是其他的组合数据类型。 在内存中通常需要额外的空间来存储元素间的关系。 组合数据类型能够将多个同类型或不同类型的数据组织起来&a…

python turtle 004Hello Kity

代码&#xff1a;pythonturtle004HelloKity资源-CSDN文库 # 作者V w1933423 import math import turtle as t# 设置画笔速度 t.speed(0)# 定义函数画弧 def myarc(t1, r, angle):arc_length 2 * math.pi * r * angle / 360 # 弧长n int(arc_length / 3) 1 # 分割段数step…

新手选择代理IP时这几点误区一定要避开!

在选择代理IP时&#xff0c;许多用户可能会因为对代理IP的认识不足或受到一些误导&#xff0c;而陷入一些常见的误区。这些误区不仅可能导致用户无法达到预期的效果&#xff0c;还可能带来一些不必要的风险。下面&#xff0c;IPIDEA代理IP就与大家一同分析在选择代理IP时需要避…

【Qt+opencv】编译、配置opencv

文章目录 前言下载opencv编译opencvmingw版本 总结 前言 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库&#xff0c;它包含了超过2500个优化的算法。这些算法可以用来检测和识别面部&#xff0c;识别对象&#x…