上一篇: JS Element对象(元素对象)
下一篇: JS RegExp(正则表达式)对象
文档对象模型(Document Object Model,简称 DOM),是一种与平台和语言无关的模型,用来表示 HTML 或 XML 文档。文档对象模型中定义了文档的逻辑结构,以及程序访问和操作文档的方式。
当网页加载时,浏览器就会自动创建当前页面的文档对象模型(DOM)。在 DOM 中,文档的所有部分(例如元素、属性、文本等)都会被组织成一个逻辑树结构(类似于族谱),树中每一个分支的终点称为一个节点,每个节点都是一个对象,如下图所示:
图1:DOM 树
借助 DOM 您可以使用 JavaScript 来访问、修改、删除或添加 HTML 文档中的任何内容。
当浏览器加载一个 HTML 文档时,会创建一个 Document 对象,Document 对象是 DOM 树中所有节点的根节点。通过 Document 对象我们可以访问 HTML 文档中的所有元素。
提示:Document 对象是 Window 对象的一部分,所以您可以通过 window.document 来访问 Document 对象。
下表中列举了 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.nor**lize() | 删除空文本节点,并合并相邻的文本节点 |
document.nor**lizeDocument() | 删除空文本节点,并合并相邻的节点 |
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 对象演示
上一篇: JS Element对象(元素对象)
下一篇: JS RegExp(正则表达式)对象
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。