JavaScript 的 DOM 知识点有哪些?

文档对象模型(Document Object Model,简称 DOM),是一种与平台和语言无关的模型,用来表示 HTML 或 XML 文档。文档对象模型中定义了文档的逻辑结构,以及程序访问和操作文档的方式。

当网页加载时,浏览器就会自动创建当前页面的文档对象模型(DOM)。在 DOM 中,文档的所有部分(例如元素、属性、文本等)都会被组织成一个逻辑树结构(类似于族谱),树中每一个分支的终点称为一个节点,每个节点都是一个对象,如下图所示:

动图封面

借助 DOM 您可以使用 JavaScript 来访问、修改、删除或添加 HTML 文档中的任何内容。

Document 对象

当浏览器加载一个 HTML 文档时,会创建一个 Document 对象,Document 对象是 DOM 树中所有节点的根节点。通过 Document 对象我们可以访问 HTML 文档中的所有元素。

提示:Document 对象是 Window 对象的一部分,所以您可以通过 window.document 来访问 Document 对象。

Document 对象中的属性

下表中列举了 Document 对象中提供的属性及其描述:

属性描述
document.activeElement返回当前获取焦点的元素
document.anchors返回对文档中所有 Anchor 对象的引用
document.applets返回对文档中所有 Applet 对象的引用。注意: HTML5 已不支持 <applet> 元素
document.baseURI返回文档的基础 URI
document.body返回文档的 body 元素
document.cookie设置或返回与当前文档有关的所有 cookie
document.doctype返回与文档相关的文档类型声明 (DTD)
document.documentElement返回文档的根节点
document.documentMode返回浏览器渲染文档的模式
document.documentURI设置或返回文档的位置
document.domain返回当前文档的域名
document.domConfig已废弃,返回 normalizeDocument() 被调用时所使用的配置
document.embeds返回文档中所有嵌入内容(embed)的集合
document.forms返回文档中所有 Form 对象的引用
document.images返回文档中所有 Image 对象的引用
document.implementation返回处理该文档的 DOMImplementation 对象
document.inputEncoding返回文档的编码方式
document.lastModified返回文档的最后修改日期
document.links返回对文档中所有 Area 和 Link 对象的引用
document.readyState返回文档状态(载入中)
document.referrer返回载入当前文档的 URL
document.scripts返回页面中所有脚本的集合
document.strictErrorChecking设置或返回是否强制进行错误检查
document.title返回当前文档的标题
document.URL返回文档的完整 URL

Document 对象中的方法

下表中列举了 Document 对象中提供的方法及其描述:

方法描述
document.addEventListener()向文档中添加事件
document.adoptNode(node)从另外一个文档返回 adapded 节点到当前文档
document.close()关闭使用 document.open() 方法打开的输出流,并显示选定的数据
document.createAttribute()为指定标签添加一个属性节点
document.createComment()创建一个注释节点
document.createDocumentFragment()创建空的 DocumentFragment 对象,并返回此对象
document.createElement()创建一个元素节点
document.createTextNode()创建一个文本节点
document.getElementsByClassName()返回文档中所有具有指定类名的元素集合
document.getElementById()返回文档中具有指定 id 属性的元素
document.getElementsByName()返回具有指定 name 属性的对象集合
document.getElementsByTagName()返回具有指定标签名的对象集合
document.importNode()把一个节点从另一个文档复制到该文档以便应用
document.normalize()删除空文本节点,并合并相邻的文本节点
document.normalizeDocument()删除空文本节点,并合并相邻的节点
document.open()打开一个流,以收集来自 document.write() 或 document.writeln() 方法的输出
document.querySelector()返回文档中具有指定 CSS 选择器的第一个元素
document.querySelectorAll()返回文档中具有指定 CSS 选择器的所有元素
document.removeEventListener()移除文档中的事件句柄
document.renameNode()重命名元素或者属性节点
document.write()向文档中写入某些内容
document.writeln()等同于 write() 方法,不同的是 writeln() 方法会在末尾输出一个换行符

示例代码如下:

document.addEventListener("click", function(){document.body.innerHTML = document.activeElement;var box = document.createElement('div');document.body.appendChild(box);var att = document.createAttribute('id');att.value = "myDiv";document.getElementsByTagName('div')[0].setAttributeNode(att);document.getElementById("myDiv").innerHTML = Math.random();var btn = document.createElement("button");var t = document.createTextNode("按钮");btn.appendChild(t);document.body.appendChild(btn);var att = document.createAttribute('onclick');att.value = "myfunction()";document.getElementsByTagName('button')[0].setAttributeNode(att);
});
function myfunction(){alert(document.title);
}

运行上面的代码,点击页面的空白区域,即可输出如下图所示的内容:

动图

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式回溯陷阱

一、匹配场景 判断一个句子是不是正规英文句子 text "I am a student" 一个正常的英文句子如上&#xff0c;英文单词 空格隔开 英文单词 多个英文字符 [a-zA-Z] 空格用 \s 表示 那么一个句子就是单词 空格&#xff08;一个或者多个&#xff0c;最后那个单词…

正点原子linux应用编程——入门篇2

系统信息与系统资源 本章重点学习如何通过Linux系统调用或C库函数获取系统信息&#xff0c;譬如获取系统时间、日期 以及设置系统时间、日期等&#xff1b;除此之外&#xff0c;还会学习Linux系统下的/proc虚拟文件系统&#xff0c;包括/proc 文件系统是什么以及如何从/proc文…

【Java Spring】SpringBoot 配置文件

1、Spring Boot配置文件的作用 配置文件的基本作用&#xff1a; 数据库连接信息&#xff08;包括用户名和密码的设置&#xff09;项目的启动端口第三方系统的调用密钥等信息用于发现和定位问题的普通日志和异常日志等 2、Spring Boot配置文件的格式 Spring Boot配置文件主要…

二十章 多线程

线程简介 在 Java 中&#xff0c;并发机制非常重要。在以往的程序设计中&#xff0c;我们都是一个任务完成后再进行下一个任务&#xff0c;这样下一个任务的开始必须等待前一个任务的结束。Java 语言提供了并发机制&#xff0c;程序员可以在程序中执行多个线程&#xff0c;每一…

基于Webserver的工业数据采集控制

http协议 http简介 HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写&#xff0c;是用于Web Browser&#xff08;浏览器&#xff09;到Web Server&#xff08;服务器&#xff09;进行数据交互的传输协议。 HTTP是应用层协议 HTTP是一个基于…

打破限制!MySQL 5.7至8.0跨版本迁移,1分钟搞定多版本数据迁移

在上个月&#xff0c;MySQL 5.7 正式结束了生命周期&#xff0c;即EOL&#xff08;End of Life&#xff09;&#xff0c;意味着Oracle将不再为 MySQL 5.7 提供技术支持&#xff0c;包括Bug修复或安全漏洞&#xff0c;大大增加了使用数据库的风险。在全球关系型数据库市场中&…

前端页面带值跳转

前端页面带值跳转 querry>url searchParamers,url后附加参数&#xff0c;传递的值长度与有限vuex&#xff08;全局状态管理&#xff09;&#xff0c;搜索页面将关键词塞到状态中&#xff0c;所搜结果页从状态取值。 使用axios整合前后端 axios官网&#xff1a;axios 在前…

计算机视觉面试题-03

1、简单介绍一下sigmoid&#xff0c;relu&#xff0c;softplus&#xff0c;tanh&#xff0c;RBF及其应用场景 这里简单介绍几个激活函数及其应用场景&#xff1a; Sigmoid 函数&#xff08;Logistic 函数&#xff09;&#xff1a; 公式&#xff1a; s i g m a ( x ) 1 1 e …

数智融合 开启金融数据治理新时代

11月24日&#xff0c;由上海罗盘信息科技有限公司&#xff08;罗盘科技&#xff09;主办&#xff0c;北京酷克数据科技有限公司&#xff08;酷克数据&#xff09;支持协办的“博学近思 切问治理”数据治理分享会在上海成功举行。 本次会议深度聚焦金融行业数智化转型&#xff…

java导入数据代码示例

1. 导入所需的库 java import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.Proxy; import org.openqa.selenium.chrome.ChromeOptio…

硬质金属件去毛刺技术,机械臂去毛刺主轴是核心

作为一种先进且高效的自动化去毛刺技术&#xff0c;机械臂去毛刺主轴在制造业中&#xff0c;特别是金属加工和汽车零部件加工中得到了广泛的应用&#xff0c;通过高速旋转的主轴和精确控制的机械臂实现高精度、高效率、高质量的自动化去毛刺作业。机械臂去毛刺技术是通过主轴的…

CANdelaStudio 中 Bese Variant 和 Variant区别

关于 Bese Variant &#xff0c;其在 CDDT 和 CDD 文件中都存在&#xff0c;有且只有一个 主要包含三部分&#xff0c;重点只关注 DIDs 和 Supported Diagnostic Classes 而在 CDD 文件中&#xff0c;除了 Bese Variant 外&#xff0c;还有一个 Variant “Variant” 这个概…