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

JavaScript 中的 Document 对象详解

JavaScript 中的 Document 对象详解

一、Document 对象概述

1. 定义与作用

Document 对象是浏览器中 HTML 文档的入口点,是 Window 对象的属性(即 window.document)。它代表整个 HTML 页面,提供了操作和访问页面内容的方法和属性,是 DOM(文档对象模型)的核心。

2. 核心功能
  • 访问和修改 HTML 元素
  • 处理事件
  • 动态创建和修改页面内容
  • 操作 CSS 样式
  • 与浏览器历史记录交互
  • 处理 cookies
3. 文档类型

Document 对象可以表示不同类型的文档:

  • HTML 文档(HTMLDocument)
  • XML 文档(XMLDocument)
  • SVG 文档(SVGDocument)

二、Document 对象的基本属性

1. 文档元信息
URL 相关
console.log(document.URL);        // 当前文档的完整 URL
console.log(document.domain);     // 当前文档的域名
console.log(document.baseURI);    // 文档的基础 URI
标题和字符编码
document.title = '新标题';        // 获取或设置文档标题
document.charset = 'UTF-8';      // 获取或设置字符编码
引用和最后修改时间
console.log(document.referrer);   // 链接到当前页面的前一个页面的 URL
console.log(document.lastModified); // 文档的最后修改时间
2. 文档结构引用
根元素
const htmlElement = document.documentElement; // <html> 元素
body 和 head
const body = document.body;       // <body> 元素
const head = document.head;       // <head> 元素
文档模式
console.log(document.compatMode); // 文档渲染模式 (CSS1Compat 或 BackCompat)
3. 文档状态
console.log(document.readyState); // 文档加载状态: loading, interactive, complete// 监听文档加载完成
document.addEventListener('DOMContentLoaded', () => {console.log('DOM 加载完成');
});window.addEventListener('load', () => {console.log('页面完全加载完成');
});

三、选择和查找元素

1. 通过 ID 选择
const element = document.getElementById('myId'); // 返回单个元素
2. 通过标签名选择
const elements = document.getElementsByTagName('p'); // 返回 HTMLCollection
3. 通过类名选择
const elements = document.getElementsByClassName('myClass'); // 返回 HTMLCollection
4. 通过选择器选择
querySelector
const element = document.querySelector('div.container'); // 返回第一个匹配的元素
querySelectorAll
const elements = document.querySelectorAll('p.highlight'); // 返回 NodeList
5. 元素集合差异
HTMLCollection
  • 动态集合,元素变化时自动更新
  • 只能通过索引访问
  • 示例:getElementsByTagName() 的返回值
NodeList
  • 静态集合或动态集合(取决于创建方式)
  • 可以通过索引和 forEach 访问
  • 示例:querySelectorAll() 的返回值

四、创建和修改元素

1. 创建元素
const newDiv = document.createElement('div');
newDiv.className = 'container';
newDiv.textContent = '新创建的元素';
2. 添加元素
appendChild
document.body.appendChild(newDiv
http://www.lryc.cn/news/2379235.html

相关文章:

  • archlinux按键映射按键自定义
  • 【python】字典和数组的数组
  • 软考IPSEC案例分析
  • C++(23):容器类<vector>
  • Hugo 安装保姆级教程(搭建个人blog)
  • tomcat查看状态页及调优信息
  • 从坏道扫描到错误修复:HD Tune实战指南
  • 将嵌入映射到 Elasticsearch 字段类型:semantic_text、dense_vector、sparse_vector
  • 【LeetCode 热题100】17:电话号码的字母组合(详细解析)(Go语言版)
  • 解决uni-app开发中的“TypeError: Cannot read property ‘0‘ of undefined“问题
  • 翻译:20250518
  • 西门子1200/1500博图(TIA Portal)寻址方式详解
  • 《Python星球日记》 第78天:CV 基础与图像处理
  • 踩坑:uiautomatorviewer.bat 打不开
  • Atcoder Beginner Contest 406
  • 记录一次win11本地部署deepseek的过程
  • 嵌入式STM32学习——外部中断EXTI与NVIC的基础练习⭐
  • 进程状态并详解S和D状态
  • 数据获取_Python
  • <前端小白> 前端网页知识点总结
  • 历史数据分析——宁波海运
  • 小结:jvm 类加载过程
  • OpenCv高阶(八)——摄像头调用、摄像头OCR
  • Java开发经验——阿里巴巴编码规范实践解析3
  • MySQL——6、内置函数
  • MySQL如何查看某个表所占空间大小?(表空间大小查看方法)
  • 软件架构之-论软件系统架构评估以及应用
  • 低延迟与高性能的技术优势解析:SmartPlayer VS VLC Media Player
  • pytorch小记(十九):深入理解 PyTorch 的 `torch.randint()` 与 `.long()` 转换
  • 深入解析Spring Boot与微服务架构:从入门到实践