首页 > 其他分享 >28. JS DOM(文档对象模型)

28. JS DOM(文档对象模型)

时间:2022-10-10 18:55:06浏览次数:56  
标签:返回 Document DOM 对象 28 JS 文档 document 节点

1. 前言

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

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

DOM 树
图1:DOM 树


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

2. Document 对象

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

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

3. 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

4. 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);
}

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

document 对象演示
图:Document 对象演示

标签:返回,Document,DOM,对象,28,JS,文档,document,节点
From: https://www.cnblogs.com/jiajunling/p/16776813.html

相关文章

  • 26. JS Math(数学)对象
    1.前言Math是JavaScript中的一个内置对象,其中提供了一些数学中常用的常量值和函数,用来实现一些数学中常见计算,例如计算平均数、求绝对值、四舍五入等。与前面介绍的几......
  • js 判断字符串中是否包含某个字符串
    方法一(推荐使用): indexOf()indexOf()方法:返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回-1。varstr="LiHeErNAN";......
  • * ./cptable in ./node_modules/[email protected]@xlsx-style/dist/cpexcel.js
    问题项目中用到了xlsx和xlsx-style,但正常安装后,出现以下错误*./cptablein./node_modules/[email protected]@xlsx-style/dist/cpexcel.js1解决方案修改node_modu......
  • js获取指定日期的前一天/后一天
    date代表指定日期,格式:2018-09-27day代表天数,-1代表前一天,1代表后一天 //date代表指定的日期,格式:2018-09-27//day传-1表始前一天,传1表始后一天//JS获取指定日期的......
  • H.265视频流媒体播放器EasyPlayer.JS如何获取时间戳回调?
    EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。EasyPlayer还拥有Window......
  • leetcode-287. 寻找重复数-数组构成的链表
    287.寻找重复数由题中数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。维护一个映射关系f(n)=index->num,其中数组的下标index,数字为num当一......
  • 25. JS Date(时间/日期)对象
    1.前言Date对象是JavaScript内置的对象,通过它您可以访问计算机系统的时间,此外,Date对象中还提供了多种用于管理、操作和格式化时间/日期的方法。2.创建Date对象......
  • H.265视频流媒体播放器EasyPlayer.JS如何获取时间戳回调?
    EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。EasyPlayer还拥有Windows......
  • 24. JS Array(数组)对象
    1.前言数组是值的有序集合,数组中的每个值称为一个元素,每个元素在数组中都有一个数字位置,称为索引,索引从0开始,依次递增。在JavaScript中,您可以使用Array对象定义数......
  • JS判断奇偶数
    if((i&1)===0)代替if(i%2===0)来判断i是不是偶数。原理:按位与操作符(&)按位与操作符(&)会对参加运算的两个数据按二进制位进行与运算,即两位同时为1时,结果才为......