当前位置: 首页 > news >正文

JavaScript(JS)DOM(四)

1、变量声明

变量声明有三个关键字,var、let、const,var是一种问题很多的写法,我们选择不使用,在const和let之中,我们优先选择const,这是因为很多变量我们在声明的时候就知道它不会被修改,同时运行时也很大程度上缓解了对数据类型的推测导致运行效率的下降。

  • const声明的值不能更改,而且const声明变量的时候里面进行初始化;
  • 对于引用数据类型,const声明的变量,里面存储的不是值,而是地址,例如修改对象中的元素,由于对象地址没有发生改变,所以不会报错。

2、DOM

DOM(文档对象模型)是一套将 HTML/XML 文档表示为树形结构的编程接口,它将文档中的元素、属性和文本都转化为可通过代码(主要是 JavaScript)访问和操作的节点。通过 DOM,开发者可以动态修改文档的内容、结构和样式,实现网页的交互效果,是让静态页面变为动态交互界面的核心技术基础。

2.1 DOM树
  • 将HTML文档以树状结构直观的表现出来,我们称之为文档树或DOM树;
  • 描述网页内容关系的名词;
  • 作用:文档树直观的体现了标签与标签之间的关系。
2.2 DOM对象

DOM对象:浏览器根据html标签生成的JS对象;

  • 所有的标签属性都可以在这个对象上面找到
  • 修改这个对象的属性会自动映射到标签身上。
2.3 获取DOM对象
2.3.1 根据CSS选择器获取DOM元素
1、选择匹配的第一个元素(可以直接操作修改)
  • 参数:包含一个或多个有效的CSS选择器字符串;
  • 返回值:CSS选择器匹配的第一个元素,一个HTMLElement对象。
  • document.querySelector(‘CSS选择器’)
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>匹配一个元素</title></head><body><div><p>测试文字1</p><p>测试文字2</p></div><script>const word = document.querySelector('div p:first-child')console.log(word)</script></body></html>
2、选择匹配的多个元素(不能直接操作修改,需要遍历)
  • 参数:包含一个或多个有效的CSS选择器字符串;
  • 返回值:CSS选择器匹配的NodeList对象集合。
  • document.querySelectorAll(‘CSS选择器’)
<script>const words = document.querySelectorAll('div p')for (let i = 0; i < words.length; i++) {console.log(words[i])}console.log(words)
</script>
2.3.2 innerText属性

将文本内容添加/更新到任意标签位置;

显示纯文本,不解析标签。

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>innerText属性</title></head><body><div class="box">测试文字</div><script>const box = document.querySelector(".box")console.log(box.innerText)box.innerText = "<strong>修改文字</strong>"</script></body></html>
2.3.3 innerHTML属性

将文本内容添加/更新到任意标签位置,会解析标签,多标签建议使用模板字符。

<script>const box = document.querySelector(".box")console.log(box.innerHTML)box.innerHTML = "<strong>修改文字</strong>"
</script>
http://www.dtcms.com/a/333113.html

相关文章:

  • 提词器电脑版哪个好用?芦笋提词器优势评测与下载
  • 算法02 二进制与位运算
  • 解锁AI大模型:Prompt工程全面解析
  • 迭代器模式C++
  • Unity中 terriaria草,在摄像机拉远的时候就看不见了,该怎么解决
  • week1-[循环嵌套]蛇
  • 低资源语言翻译:数据增强与跨语言迁移学习策略
  • git疑问,暂时记录
  • “降碳30%+节能25%,园区智慧能源管理系统重塑示范园区竞争力
  • Flutter Form组件的基本使用
  • 【Python办公】Excel转json(极速版)-可自定义累加字段(如有重复KEY)
  • 力扣top100(day04-06)--贪心算法
  • LeetCode 53.最大子数组和:贪心算法下的连续子数组最优解
  • Android项目中Ktor的引入与使用实践
  • mlir clone
  • 【C#补全计划】事件
  • 【C#】 GridControl与GridView、容器和视图
  • Spring事务 概念 配置 隔离级别 脏读幻读不可重复读 传播行为
  • pyinstaller-从安装到高级使用
  • align-content 设置侧轴上的子元素的排列方式(多行)
  • Git代码版本管理
  • OpenCV---getStructuringElement 结构元素获取
  • 设计心得——如何架构选型
  • ffmpeg 安装、配置与使用完全指南
  • 自学大语言模型之Transformer的Tokenizer
  • jenkins 自动部署
  • 开发Chrome/Edge插件基本流程
  • mysql中in 和 exists 区别
  • 从传感器到大模型:Jetson Thor + LLM.VLA + Holoscan 的边缘推理全链路实战
  • 基于改进Apriori算法的Web文档聚类方法研究(一)