DOM

mac2022-06-30  97

梳理一下脉络,重新认识一下JavaScript这门语言。

DOM 是Document、Object、Model(文档对象模型)

JavaScript通过ECMAScript编写程序让浏览器来解析,利用ECMAScript通过BOM(Browser Object Model)即浏览器对象模型,来操作浏览器窗口、浏览器导航对象、屏幕分辨率、浏览器历史、cookie等等。通过DOM操作HTML,赋予HTML行为。

是对HTML标签、属性、文本解析后存放在内存中的倒置的树

•树中的标签、属性、文本统称为节点(Node)

•标签称为元素节点(Element)

•属性称为属性节点(Atrribute)

•文本称为文本节点(Text)

•DOM的核心对象为document

节点的关系:父节点、子节点、兄弟节点、前兄弟节点、后兄弟节点、叶子节点、根节点

 

获取文档的根

document.getDocumentElement;//获取HTML元素

document.body;//获取body元素

•Document 对象是 Window 对象的一部分,每个载入浏览器的 HTML 文档都会成为 Document 对象

•Document 对象集合

 

集合描述all[]提供对文档中所有HTML元素访问。anchors[]返回对文档中所有Anchor对象的引用。applets返回对文档对象所有Applet对象的引用。forms[]返回对文档中所有Form对象引用。images[]返回对文档中所有Image对象引用。links[]返回对文档中所有Area和Link对象引用。

document的常用属性

属性

描述

URL

返回当前文档的 URL。body

提供对 <body> 元素的直接访问。

对于定义了框架集的文档,该属性引用最外层的 <frameset>。

documentElement返回html dom中的root 节点 即<html>cookie设置或返回与当前文档有关的所有 cookie。domain返回当前文档的域名。lastModified返回文档被最后修改的日期和时间。referrer返回载入当前文档的文档的 URL。title返回当前文档的标题。

 

Document 对象方法

方法

描述close()关闭用 document.open() 方法打开的输出流,并显示选定的数据。getElementById()返回对拥有指定 id 的第一个元素的引用。getElementsByName()返回带有指定名称的元素集合。getElementsByTagName()返回带有指定标签名的元素集合。getElementsByClassName()返回带有指定类样式的元素集合。open()

打开一个流,以收集来自任何 write() 或 writeln() 方法的输出。

新建文档,覆盖原来的文档内容

write()向文档写 HTML 表达式 或 JavaScript 代码。writeln()等同于 write() 方法,不同的是在每个表达式之后写一个换行符。

 

1、querySelector

根据选择器查找元素,返回单个元素,无论选择器找到的元素有多少,只会返回第一个匹配的元素,如果未找到匹配的元素,则返回null。

2、querySelectorAll

根据选择器查找元素,返回元素集合,无论选择器找到的元素有多少,都会返回元素集合(NodeList),如果未找到匹配的元素,则返回空集合。

 

Element对象

•Element代表页面中的标签元素,如<div><a>

•Element的尺寸属性

属性

描述element.offsetHeight返回元素的高度。element.offsetWidth返回元素的宽度。element.offsetLeft返回元素的水平偏移位置。element.offsetParent返回元素的偏移容器。element.offsetTop返回元素的垂直偏移位置。element.clientHeight返回元素的可见高度。element.clientWidth返回元素的可见宽度。element.scrollHeight返回元素的整体高度。element.scrollLeft返回元素左边缘与视图之间的距离。element.scrollTop返回元素上边缘与视图之间的距离。element.scrollWidth返回元素的整体宽度。

 

元素自身属性的操作

属性 / 方法

描述element.className设置或返回元素的 class 属性。element.cloneNode()克隆元素。element.id设置或返回元素的 id。element.innerHTML设置或返回元素的内容。element.nodeName返回元素的名称。可能是元素名,也可能是属性名element.nodeType返回元素的节点类型,1元素,2、属性,3、文本。element.nodeValue设置或返回元素值。元素节点没有此属性element.style设置或返回元素的 style 属性。element.tabIndex设置或返回元素的 tab 键控制次序。element.tagName返回元素的标签名。,只是元素element.textContent设置或返回节点及其后代的文本内容。element.title设置或返回元素的 title 属性。

 

Element对象

•属性的操作

属性 / 方法

描述element.attributes返回元素属性的 NamedNodeMap。element.getAttribute()返回元素节点的指定属性值。element.getAttributeNode()返回指定的属性节点。element.hasAttribute()如果元素拥有指定属性,则返回true,否则返回 false。element.hasAttributes()如果元素拥有属性,则返回 true,否则返回 false。element.setAttribute()把指定属性设置或更改为指定值。element.setAttributeNode()设置或更改指定属性节点。

 

•父及兄弟元素的操作

属性

描述element.nextSibling返回位于相同节点树层级的下一个节点。element.ownerDocument返回元素的根元素(文档对象)。element.parentNode返回元素的父节点。element.previousSibling返回位于相同节点树层级的前一个节点。

 

•子元素的操作

属性

描述element.childNodes返回元素子节点的 NodeList。element.firstChild返回元素的首个子节点element.getElementsByTagName()返回拥有指定标签名的所有子元素的集合。element.hasChildNodes()如果元素拥有子节点,则返回 true,否则 false。element.lastChild返回元素的最后一个子节点。element.appendChild()向元素添加新的子节点,作为最后一个子节点。element.insertBefore()在指定的已有的子节点之前插入新节点。element.removeChild()从元素中移除子节点。element.replaceChild()替换元素中的子节点。nodelist.item()返回 NodeList 中位于指定下标的节点。nodelist.length返回 NodeList 中的节点数。

 

创建新的元素

documet.createElement("div");

添加内容

innerHTML = ""

innerText = ""

转载于:https://www.cnblogs.com/QQPrincekin/p/10458835.html

相关资源:dom4j-1.6.1.jar (dom4j) 欢迎下载
最新回复(0)