当前位置: 首页 > 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.xdnf.cn/news/1304389.html

相关文章:

  • 【数据分享】2022 年黑龙江省小麦、玉米和水稻幼苗影像数据集
  • Python基础(Flask①)
  • 基于机器学习的赌博网站识别系统设计与实现
  • 数据结构——顺序表单链表oj详解
  • 8.15 机器学习(2)K最近邻算法
  • k8s注意事项
  • Nginx反向代理Tomcat实战指南
  • 8月4日实训考察:重庆五一职院走进成都国际影像产业园
  • PCA降维 提升模型训练效率
  • 【科研绘图系列】R语言绘制多种饼图
  • nVidia Tesla P40使用anaconda本地重编译pytorch3d成功加载ComfyUI-3D-Pack
  • 前端动画库之gsap
  • 深入解析五大通信协议:TCP、UDP、HTTP_HTTPS、WebSocket与GRPC
  • Al大模型-本地私有化部署大模型-大模型微调
  • 腾讯位置商业授权微信小程序逆地址解析(坐标位置描述)
  • day29-进程和线程(2)
  • C语言:指针(5)
  • lcm通信库介绍与使用指南
  • 使用Docker容器化Python测试Pytest项目并配置GitHub Actions CI/CD流程
  • Pytest项目_day16(yaml和parametrize结合)
  • week1-[循环嵌套]蛇
  • Vue2与Vue3生命周期函数全面解析:从入门到精通
  • Linux操作系统--多线程(锁、线程同步)
  • 基本电子元件:贴片电阻器的种类
  • 达梦数据库使用控制台disql执行脚本
  • Mac(二)Homebrew 的安装和使用
  • HDFS数据倾斜导致MapReduce作业失败的排查与优化实践
  • 一个集成多源威胁情报的聚合平台,提供实时威胁情报查询和播报服务、主动拦截威胁IP,集成AI等多项常用安全类工具
  • mac 通过homebrew 安装和使用nvm
  • 16进制pcm数据转py波形脚本