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

DOM与BOM核心用法解析

1.DOM

1.1 概念

DOM也称为文档对象模型,用于操作HTML/XML的内容、样式、结构。DOM把网页看成一个文档(document),页面中的标签为元素(element),网页的所有的内容都是节点(node)。每一个节点都是DOM对象。并且DOM是W3C 统一标准,各浏览器实现基本一致。

1.2 使用

常用的DOM成员:document(文档)、element(标签)、text(标签中的文字)、attr(标签上的属性),

常见的方法:getElementById、 getElementsBy*、querySelector、querySelectorAll、createElement、appendChild、addEventListener


扩展:querySelector(All)和getElementById / getElementsBy*的区别

  1. 语法:querySelector(All)('选择器')支持任意 CSS 选择器字符串(包括#box li:first-child)去获取DOM对象;而getElement*('')只能按 id、tag、name、class 单一条件获取DOM对象。
  2. 返回类型:querySelector(All)返回静态 NodeList(querySelectorAll)或单个 Element(querySelector);而getElement*返回单个 Element(ById)或实时 HTMLCollection(ByTagName/Name/Class)
  3. 性能和兼容性:querySelector(All)性能较慢,并且只支持IE8+的浏览器;getElement*性能较快,兼容性好。
  4. 使用场景:querySelector(All) 返回静态列表,语法灵活适合DOM 动态增删;getElement* 返回实时集合,简单场景更快。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>document</title></head><body><div class="box"><input type="text" placeholder="请输入评论" id="input" /><button id="btn">发布评论</button><ul id="ul"></ul></div><script>// 获取DOM对象const input = document.getElementById("input");const btn = document.getElementById("btn");const ul= document.querySelector("#box")const box = document.querySelector(".box")</script></body>
</html>

2.BOM

2.1 概念

浏览器对象模型,提供了独立于内容而是与浏览器窗口进行交互的对象,核心对象是window,把浏览器当作一个对象。 操作浏览器窗口浏览环境本身。下图是BOM的构成

window对象:是JS访问浏览器窗口的一个接口,并且是一个全局对象,可以使用所有的属性和方法。

2.2 使用

  1. window.onload = function() {}事件:会等待所有文档内容加载完成后才触发其中的函数,该事件只能触发一次,若有多个则以最后一个为准。

  2. setTimeout()定时器:调用时可以省略window,语法:setTimeout(function() {}, 延迟时间)clearTimeout(定时器ID)清除定时器。只调用一次函数

  3. setInterval()定时器:每隔一段时间,就调用一次回调函数,语法:setInterval(function() {}, 延迟时间)

  4. location对象:window对象提供了location属性去获取URL(统一资源定位符)

    1. location.href属性:获取或设置整个URL,可以进行跳转。

    2. location.assign()方法:重定向页面

    3. location.reload()方法:重新加载页面,相当于强制刷新

  5. navigator对象:包含浏览器的信息,常用的是userAgent,该属性可以返回user-agent头部的值

  6. history对象:与浏览器的历史记录进行交互

    1. back():后退功能

    2. forward():前进功能

    3. go(参数):前进后退都行,参数为1是前进,参数为-1是后退

http://www.dtcms.com/a/461674.html

相关文章:

  • 如何在网站上做跳转代码最好的科技资讯网站
  • 【项目】自然语言处理——情感分析 <下>
  • 网站页面制作公司外部网站 同意加载
  • 高通平台WiFi学习--IPv6 邻居发现卸载:Wi-Fi 固件助力移动设备功耗优化
  • 网站备案 工信部如何做建材团购网站
  • 知名的咨询行业网站制作茂名网站开发
  • 网络管理部分
  • 小白逆袭----2025了,彻底弄懂react-test单元测试 基础使用(一)
  • 代做标书网站政务网站建设模块
  • (2)100天python从入门到拿捏
  • 我的云函数向 unicloud 数据库存储数据问什么 grade 字段无法存储?
  • 免费下载代码的网站做网站国外网站
  • npm install --legacy-peer-deps:它到底做了什么,什么时候该用?
  • [Tongyi] 工具集成 | run_react_infer
  • 做课题查新网站茶叶网站开发目的和意义
  • 第5章 高效的多线程日志
  • 平安建设 十户长网站地址织梦网站制作教程
  • 无人机图传系统解析:模拟与数字的应用及未来趋势,无人机图传的作用
  • Agentic AI 与 AI 编程入门:让 AI 成为学习与创作的最佳伴侣
  • CF45C Dancing Lessons 题解
  • Docker 容器 -- 编写你的第一个 Dockerfile
  • 做的好的网站开发网站空间200m
  • 虚拟机怎么做网站上海做网站天锐
  • 网站优化要怎么做才会做到最佳百度站长统计
  • ALV 单元格控制案例
  • 网站被墙 做301跳转服务器正常网站打不开
  • maven mvn 安装自定义 jar 包
  • Flink 广播状态(Broadcast State)实战从原理到落地
  • 苏州市吴江区住房和城乡建设局网站网站开发的项目开发
  • 基于MBSE的系统设计和流程合规实例