DOM 是 document object model(文档对象模型)的缩写。它是一种与平台、语言无关的接口,允许程序动态地访问或更新 HTML、XML 文档的内容、结构和样式,且提供了一系列的函数和对象来实现增、删、改、查操作。
DOM 对象的一个特点是,它的各种对象有明确的从属关系。也就是说,一个对象可能是从属于另一个对象的,而它又可能包含其他的对象。
document 对象包含当前网页的各种特征,是 window 对象的子对象,指在浏览器窗口中显示的内容部分,如标题、背景、使用的语言等。
1.document 对象的属性
属 性 | 描 述 |
---|---|
body | 提供对 body 元素的直接访问 |
cookie | 设置或查询与当前文档相关的所有 cookie |
URL | 返回当前文档的 URL |
forms[] | 返回对文档中所有的 form 对象的集合 |
2.document 对象的方法
方 法 | 描 述 |
---|---|
open() | 打开一个新文档,并擦除当前文档的内容 |
write() | 向文档写入 HTML 或 JavaScript 代码 |
writeln() | 与 write () 方法作用基本相同,在每次内容输出后额外加一个换行符 (\n),在使用<pre>标签时比较有用 |
close() | 关闭一个由 document.open () 方法打开的输出流,并显示选定的数据 |
getElementById() | 返回对拥有指定 ID 的第一个对象 |
getElementsByName() | 返回带有指定名称的对象的集合 |
getElementsByTagName() | 返回带有指定标签名的对象的集合 |
getElementsByClassName() | 返回带有指定 class 属性的对象集合,该方法属于 HTML5 DOM |
在 document 对象的方法中,open ()、write ()、writeln () 和 close () 方法可以实现文档流的打开、写入、关闭等操作;而 getElementById ()、getElementsByName ()、getElementsByTagName () 等方法用于操作文档中的元素。
<!-- 禁止手动修改,必须使用JavaScript操纵DOM实现。练习要求:1.将第一个<hr>节点改为黑色(即id="hr1"的节点)2.将第二个<hr>节点从<body>节点中移除(即id="hr2"的节点)3.创建一个新的节点,如下所示:<hr color="blue" width="250" id="hr3">--><hr color="red" width="500" id="hr1"><hr color="green" width="500" id="hr2"><script>const ele1 = document.getElementById("hr1");ele1.color = "black";const ele2 = document.getElementById("hr2");const body_node = document.body;body_node.removeChild(ele2);const hr3 = document.createElement("hr");hr3.color = "blue";hr3.width = "250";hr3.id = "hr3";body_node.appendChild(hr3);</script>