DOM的对象-JavaScript对象模型
DOM ,一种标准编程接口,它将 HTML 文档视为树形结构(节点层次)的对象模型,允许程序和脚本动态更新、添加、删除或修改网页内容和样式。
一、节点和节点树
配套演示说明案例
<!DOCTYPE html> <html lang="zh-Hans"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>节点树</title> </head> <body> <a href="#">a是元素节点,其中的href是属性节点,你现在看到的是文本</a> <h1>h1是元素节点,你现在看到的是文本节点</h1> <p>p是元素节点,你现在看到的“段落文本”是文本节点</p> </body> </html>
二、DOM的操作
DOM(Document Object Model)是HTML和XML文档的标准,提供了对文档内容进行访问和操作的方法。
通过DOM,可以使用JavaScript或其他语言操作HTML/XML文档的结构、内容和样式。
提供了许多操作文档的方法,包括:获取元素:通过标签名、ID、类名等属性选择器获取指定元素。
添加元素:向文档中添加新的元素。
删除元素:从文档中删除指定元素。
修改元素:修改指定元素的属性、内容等。
遍历元素:遍历文档中的所有元素或指定元素的子元素。
三、Node对象
Node(节点)对象代表文档树中的一个节点,Node对象是整个DOM的核心对象。
四、HTML DOM对象
HTML DOM对象是DOM在HTML文档中的具体实现。
它包括HTML Document对象、HTML Element对象、HTML Node对象等。
通过这些对象,可以访问和操作HTML文档中的各个部分。
五、HTML Document对象
HTML Document对象表示整个HTML文档,是HTML DOM对象的根对象。
它包含了文档的结构、内容和样式等信息。
可以通过它获取文档中的所有元素、设置文档标题、获取文档URL等。
Document 对象中的属性
document.activeElement 返回当前获取焦点的元素。 document.anchors 返回对文档中所有 Anchor 对象的引用。 document.applets 返回对文档中所有 Applet 对象的引用。注意:HTML5 已不支持 <applet> 元素。 document.baseURI 返回文档的基础 URI。 document.body 返回文档的 body 元素。 document.cookie 设置或返回与当前文档有关的所有 cookie。 document.doctype 返回与文档相关的文档类型声明 (DTD)。 document.documentMode 返回浏览器渲染文档的模式(仅 IE 和 Edge 支持)。 document.documentElement 返回文档的根节点(即 <html> 元素)。 document.documentURI 设置或返回文档的位置(URL)。 document.domain 返回当前文档的域名。 document.embeds 返回文档中所有嵌入内容(<embed>)的集合。 document.forms 返回文档中所有 Form 对象的引用。 document.images 返回文档中所有 Image 对象的引用。 document.implementation 返回处理该文档的 DOMImplementation 对象。 document.inputEncoding 返回文档的解码方式(即输入流的字符编码)。 document.lastModified 返回文档的最后修改日期(如果可用)。 document.links 返回对文档中所有 Area 和 Link 对象的引用。 document.readyState 返回文档状态(如 "loading"、"interactive" 或 "complete")。 document.referrer 返回载入当前文档的 URL(即来源页面地址)。 document.scripts 返回页面中所有脚本 (<script>) 的集合。 document.strictErrorChecking 设置或返回是否强制进行错误检查(默认值取决于浏览器实现)。 document.title 返回当前文档的标题。 document.URL 返回文档的完整 URL(与 document.documentURI 类似)。
Document 对象中的方法
document.addEventListener():向文档中添加事件监听器。 document.adoptNode(node):从其他文档中采纳(移动)一个节点到当前文档。 document.close():关闭之前通过 document.open() 打开的文档流,并显示已写入的内容。 document.createAttribute():创建一个新的属性节点,可以被附加到元素上。 document.createComment():创建一个注释节点。 document.createDocumentFragment():创建一个轻量级的 DocumentFragment 对象,常用于批量操作DOM元素。 document.createElement():创建一个新的元素节点。 document.createTextNode():创建一个新的文本节点。 document.getElementsByClassName():返回包含文档中指定类名的所有元素的NodeList集合。 document.getElementById():返回具有指定ID属性的单个元素。 document.getElementsByName():返回文档中具有指定名称属性的所有元素的NodeList集合。 document.getElementsByTagName():返回包含文档中指定标签名的所有元素的NodeList集合。 document.importNode(node, deep):从另一个文档导入节点到当前文档,可选地递归导入其所有子孙节点。 document.normalize():标准化文档,主要作用是合并相邻的文本节点及移除空文本节点。 document.normalizeDocument():执行一系列规范化操作,包括合并文本节点、清理文档结构等,这是一个更深层次的规范化过程。 document.open():打开文档流以准备写入新内容,通常与 document.write() 和 document.writeln() 配合使用。 document.querySelector(selector):根据指定CSS选择器查找并返回文档中第一个匹配的元素。 document.querySelectorAll(selector):根据指定CSS选择器查找并返回文档中所有匹配的元素组成的NodeList集合。 document.removeEventListener():从文档中移除先前添加的事件监听器。 document.renameNode(node, namespaceURI, qualifiedName):重命名一个元素或属性节点(IE不支持)。 document.write(content):向文档写入内容,通常在文档解析前或 document.open() 后使用。 document.writeln(content):与 document.write() 类似,但在写入内容后自动添加一个换行符。
六、HTML Element对象
HTML Element对象表示HTML文档中的一个元素,如段落、标题、图像等。
它包含了元素的标签名、ID、类名、属性、内容等信息。
可以通过它修改元素的样式、内容、属性等。
文档如有描述不清楚、错误或者过时的地方,欢迎留言指出。
文档、教程内容会不定时更新,转载请标明原帖链接,以免让过时的教程流入网络。
