当前位置:首页 > 教程 > 正文内容

DOM的对象-JavaScript对象模型

唐朝2年前 (2024-03-24)教程455

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、类名、属性、内容等信息。

可以通过它修改元素的样式、内容、属性等。

    文档如有描述不清楚、错误或者过时的地方,欢迎留言指出。

    文档、教程内容会不定时更新,转载请标明原帖链接,以免让过时的教程流入网络。

    分享给朋友:

    “DOM的对象-JavaScript对象模型” 的相关文章

    mouse事件(鼠标事件)- JavaScript事件处理

    mouse(鼠标)事件主要是操作鼠标所触发的事件,如单击、双击、鼠标离开等。由于在Windows系统中鼠标是最主要的定位设置,所以鼠标事件是Web开发中最常用的一类事件。请注意:此类事件不仅可能来自于“鼠标设备”,还可能来自于对此类操作进行了模拟以实现兼容性的其他设备,例如手机和平板电脑。1、鼠标事...

    window事件(窗口事件)- JavaScript事件处理

    window(窗口)事件是指当用户与页面上的元素交互时所触发的事件。1、加载事件(load)当整个页面(包括所有框架、样式表、图像等资源)完全加载完成时触发。常用于在文档加载完成后执行脚本,确保DOM结构完整可用。<!DOCTYPE html> <html l...

    课程简介

    本课程通过实践操作为导向,带领学生们逐步学习并掌握Web前端开发技术。我们选择了一些基础的实践项目作为教学案例,旨在让学生们通过真实的项目实践,深入理解并熟练运用HTML、CSS和JavaScript等前端技术,从而构建出功能完善、界面美观的网页。 课程内容与特色l 从零开始,逐...