DOM操作介绍整理(整合资料)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
.cn 域名,1个 12个月
云解析 DNS,旗舰版 1个月
简介: 由于项目中,react使用较多,对基本DOM操作会有所疏忽,所以这里总结一下DOM的一些方法,整理在此,有需要者可自行查找学习。本文章是做内容整理,引入部分例子与官方说法。

DOM概述

本文主要是总结整理一些DOM的api,对一些函数例子做一些编写和整理,以供开发者进行学习讨论。

DOM介绍

DOM译为文档对象模型(document object model),DOM是HTML和XML文档的编程接口,提供了文档的结构化表述,定义了一种方式可以让他从程序中对该结构进行访问,从而改变文档的结构,样式和内容。DOM将文档解析成一个由节点和对象组成的结构集合。他会将web页面和脚本或者程序语言连接起来。


一个web页面是一个文档,他可以在浏览器窗口或者通过HTML源码显示出来,但是这两种形式展示的是相同的一份文档。DOM提供了对同一份文档的另一种表现,存储和操作的形式。


DOM对象


1.Attr对象

该类型使用对象来表示一个DOM元素的属性。在大多数DOM方法中,你可能会直接通过字符串的方式获取属性值(例如Element.getAttribute(),但是一些函数(例如Element.getAttributeNode())或通过迭代器访问时则返回Attr类型。

属性

描述

baseURI

返回属性的绝对基准 URI。

isId

如果属性是 id 类型,则返回 true,否则返回 false。

localName

返回属性名称的本地部分。

name

返回属性的名称。

namespaceURI

返回属性的命名空间 URI。

nodeName

返回节点的名称,依据其类型。

nodeType

返回节点的类型。

nodeValue

设置或返回节点的值,依据其类型。

ownerDocument

返回属性所属的根元素(document对象)。

ownElement

返回属性所附属的元素节点。

prefix

设置或返回属性的命名空间前缀。

schemaTypeInfo

返回与属性相关联的类型信息。

specified

如果属性值被设置在文档中,则返回 true,如果其默认值被设置在 DTD/Schema 中,则返回 false。

textContent

设置或返回属性的文本内容。

text

返回属性的文本。IE-only。

value

设置或返回属性的值。

xml

返回属性的 XML。IE-only。

2.DOMTimeStamp

DOMTimeStamp类型表示绝对或相对毫秒数,具体取决于它出现的规范。

3.NodeList

NodeList 对象是节点的集合,通常是由属性,如Node.childNodes 和 方法,如document.querySelectorAll 返回的。


NodeList不是一个数组,是一个类似数组的对象(Like Array Object)。虽然 NodeList 不是一个数组,但是可以使用 forEach() 来迭代。我们还可以使用 Array.from() 将其转换为数组。


不过,有些浏览器较为过时,没有实现 NodeList.forEach()Array.from()。我们可以用 Array.prototype.forEach() 来规避这一问题。


在一些情况下,NodeList 是一个实时集合,也就是说,如果文档中的节点树发生变化,NodeList 也会随之变化。例如,Node.childNodes 是实时的:

varparent=document.getElementById('parent');
varchild_nodes=parent.childNodes;
console.log(child_nodes.length); // 我们假设结果会是“2”parent.appendChild(document.createElement('div'));
console.log(child_nodes.length); // 但此时的输出是“3”

在其他情况下,NodeList 是一个静态集合,也就意味着随后对文档对象模型的任何改动都不会影响集合的内容。比如  document.querySelectorAll 就会返回一个静态 NodeList


属性

描述

length

NodeList 中包含的节点个数。

item()

根据给定的索引,返回一个 NodeList对象中包含Node对象

entries()

该方法返回一个迭代协议,允许遍历此对象中包含的所有键/值。该值也是一个Node 对象。

forEach()

NodeList接口的 forEach() 方法按插入顺序为列表中的每个值对调用一次参数中给定的回调。

keys()

返回 iterator ,此方法允许遍历这个对象中包含的所有的键,即使这个键是 unsigned integer(无符号整数)

values()

该方法返回一个iterator迭代器,可以利用迭代器遍历所有value。

4.CharacterData


CharacterData 抽象接口(abstract interface)代表 Node 对象包含的字符。这是一个抽象接口,意味着没有 CharacterData 类型的对象。 它是在其他接口中被实现的,如 TextCommentProcessingInstruction(en-US) 这些非抽象接口。

属性

描述

length

该节点包含的字符数。

data

该节点包含的文本。

appendData()

把指定的字符串添加到该节点包含的文本上。

deleteData()

从该节点删除指定的文本。

insertData()

把指定的字符串插入指定位移量处的节点文本。

replaceData()

用指定的字符串替换从指定位置开始的指定数量的文本。

substringData()

返回从指定位移量处开始的指定数量的字符的文本副本。


5.DOMSettableTokenList

DOMSettableTokenList实际上是merged into DOMTokenList在WHATWG“生活标准”版本的规范。有参数value,还在测试中。

6.ParentNode

ParentNode 混合了所有(拥有子元素的) Node 对象包含的共有方法和属性。


ParentNode 是一个原始接口,不能够创建这种类型的对象;它在 ElementDocumentDocumentFragment 对象上被实现。


属性

描述

childElementCount

返回一个当前 ParentNode 所含有的后代数量。

children

返回一个包含 ParentNode 所有后代 Element 对象的动态 HTMLCollection 对象,忽略所有非元素子节点。

firstElementChild

返回父节点的第一个 Element 后代,没有时返回 null

lastElementChild

返回父节点的最后一个 Element 后代,没有时返回 null

append()

在父节点 ParentNode 的最后一个后代后面插入一组 Node 对象或 DOMString 对象。DOMString 对象会以同等的 Text 节点插入。

prepend()

在父节点 ParentNode 第一个后代前插入一组 Node 对象或者 DOMString 对象。DOMString 对象会以同等的 Text 节点插入。

querySelector()

返回以当前元素为根元素,匹配给定选择器的第一个元素 Element

querySelectorAll()

返回一个 NodeList,表示以当前元素为根元素的匹配给定选择器组的元素列表。

7.childNode

ChildNode 混合了所有(拥有父对象) Node 对象包含的公共方法和属性。其由 ElementDocumentTypeCharacterData 对象实现。


属性

描述

move()

ChildNode 从其父节点的子节点列表中移除。

before()

在其父节点的子节点列表中插入一些 NodeDOMString 对象。插入位置为 ChildNode 之前。DOMString 对象会被以 Text 的形式插入。

after()

在其父节点的子节点列表中插入一些NodeDOMString 对象。插入位置为 ChildNode 之后。DOMString 对象会被以 Text 的形式插入。

replaceWith

使用一组 NodeDOMString 对象替换 ChildNodeDOMString 对象会以 Text 的形式插入。

8.DOMStringList(已废弃)

9.ProcessingIntroduction

ProcessingInstruction表示处理指令:即,一个节点,其中嵌入针对特定应用程序的指令,但该指令可能被不识别指令的任何其他应用程序忽略。

属性

描述

data

设置或返回此处理指令的内容。

(即从目标开始后的第一个非空格字符到结束字符“?>”之间的字符,但不包括“?>”)。

before()

返回此处理指令的目标

它是"<?"后的第一个标识符,指定了处理指令的处理器

10.Comment

Comment 接口代表标签(markup)之间的文本符号(textual notations)。尽管它通常不会显示出来,但是在查看源码时可以看到它们。在 HTML 和 XML 里,注释(Comments)为 '' 之间的内容。在 XML 里,注释中不能出现字符序列 '--'。

属性

描述

data 可设置或返回此节点的文本。
length 可返回此节点的文本的长度。
appendData() 向节点追加数据。
deleteData() 从节点删除数据。
insertData() 向节点中插入数据。
replaceData() 替换节点中的数据。
substringData() 从节点中提取数据。

11.CustomEvent

CustomEvent 事件是由程序创建的,可以有任意自定义功能的事件。

属性

描述

detail

此接口从父接口继承属性, Event:

initCustomEvent(废弃)

初始化了一个 CustomEvent object. 如果该事件已经被分发出去,则不会在初始化过程中重复触发.

12.Document

Document 接口表示任何在浏览器中载入的网页,并作为网页内容的入口,也就是DOM 树。DOM 树包含了像 这样的元素,以及大量其他元素。它向网页文档本身提供了全局操作功能,能解决如何获取页面的 URL ,如何在文档中创建一个新的元素这样的问题。


Document 接口描述了任何类型的文档的通用属性与方法。根据不同的文档类型(例如HTMLXMLSVG,...),还能使用更多 API:使用 "text/html" 作为内容类型(content type)的 HTML 文档,还实现了 HTMLDocument 接口,而 XML 和 SVG 文档则(额外)实现了 XMLDocument 接口。

属性

描述

async 规定 XML 文件的下载是否应当被同步处理。
childNodes 返回属于文档的子节点的节点列表。
doctype 返回与文档相关的文档类型声明 (DTD)。
documentElement 返回文档的根节点
documentURI 设置或返回文档的位置
domConfig 返回normalizeDocument()被调用时所使用的配置
firstChild 返回文档的首个子节点
implementation 返回处理该文档的 DOMImplementation 对象。
inputEncoding 返回用于文档的编码方式(在解析时)。
lastChild 返回文档的最后一个子节点。
nodeName 依据节点的类型返回其名称。
nodeType 返回节点的节点类型。
nodeValue 根据节点的类型来设置或返回节点的值。
strictErrorChecking 设置或返回是否强制进行错误检查。
text 返回节点及其后代的文本(仅用于 IE)。
xml 返回节点及其后代的 XML(仅用于 IE)。
xmlEncoding 返回文档的编码方法。
xmlStandalone 设置或返回文档是否为 standalone。
xmlVersion 设置或返回文档的 XML 版本。
adoptNode(sourcenode) 从另一个文档向本文档选定一个节点,然后返回被选节点。
createAttribute(name) 创建拥有指定名称的属性节点,并返回新的 Attr 对象。
createAttributeNS(uri,name) 创建拥有指定名称和命名空间的属性节点,并返回新的 Attr 对象。
createCDATASection() 创建 CDATA 区段节点。
createComment() 创建注释节点。
createDocumentFragment() 创建空的 DocumentFragment 对象,并返回此对象。
createElement() 创建元素节点。
createElementNS() 创建带有指定命名空间的元素节点。
createEvent() 创建新的 Event 对象。
createEntityReference(name) 创建 EntityReference 对象,并返回此对象。
createExpression() 创建一个XPath表达式以供稍后计算。
createProcessingInstruction() 创建 ProcessingInstruction 对象,并返回此对象。
createRange() 创建 Range 对象,并返回此对象。
evaluate() 计算一个 XPath 表达式。
createTextNode() 创建文本节点。
getElementById() 查找具有指定的唯一 ID 的元素。
getElementsByTagName() 返回所有具有指定名称的元素节点。
getElementsByTagNameNS() 返回所有具有指定名称和命名空间的元素节点。
importNode() 把一个节点从另一个文档复制到该文档以便应用。
loadXML() 通过解析XML标签字符串来组成文档。
normalizeDocument()  
renameNode() 重命名元素或者属性节点。


13.DocumentFragment

DocumentFragment,文档片段接口,一个没有父对象的最小文档对象。它被作为一个轻量版的 Document 使用,就像标准的document一样,存储由节点(nodes)组成的文档结构。与document相比,最大的区别是DocumentFragment 不是真实 DOM 树的一部分,它的变化不会触发 DOM 树的重新渲染,且不会导致性能等问题。


最常用的方法是使用文档片段作为参数(例如,任何 Node 接口类似 Node.appendChildNode.insertBefore 的方法),这种情况下被添加(append)或被插入(inserted)的是片段的所有子节点, 而非片段本身。因为所有的节点会被一次插入到文档中,而这个操作仅发生一个重渲染的操作,而不是每个节点分别被插入到文档中,因为后者会发生多次重渲染的操作。


该接口在 Web 组件(Web components)中也非常有用:


属性

描述

querySelector()

返回在DocumentFragment中以文档顺序排列的第一个符合指定选择器的Element节点。
querySelectorAll() 返回在DocumentFragment中所有的符合指定选择器的Element节点组成的NodeList数组。
getElementById()

返回在DocumentFragment中以文档顺序排列的第一个符合指定ID选择器的Element节点。与Document.getElementById()作用相同。


14.DocumentType

DocumentType 接口表示了一个包含文档类型的节点 Node .

属性

描述

entities 可返回含有在 DTD 中所声明的实体的 NamedNodeMap
internalSubset 以字符串返回内部 DTD
name 返回 DTD 的名称
notations 可返回含有在 DTD 中所声明的符号(notation)的 NamedNodeMap
systemId 可返回外部 DTD 的系统识别符

15.DOMError(已废弃)

DOMError 接口描述一个错误对象,该对象包含一个错误的名字。

属性

描述

name

返回一个代表一个错误类型名称的 DOMString

message

返回一个代表与给定错误类型名称有关的信息或描述DOMString

error类型

属性

描述

IndexSizeError 索引不在允许的范围内
HierarchyRequestError 节点树层次结构是不正确的。
WrongDocumentError 对象是错误的
InvalidCharacterError 字符串包含无效字符。
NoModificationAllowedError 对象不能被修改。
NotFoundError 对象不能在这里被找到。
NotSupportedError 不支持的操作
InvalidStateError 对象是一个无效的状态。
SyntaxError 字符串不匹配预期的模式
InvalidModificationError 对象不能以这种方式被修改
NamespaceError 操作在XML命名空间内是不被允许的
InvalidAccessError 对象不支持这种操作或参数。
TypeMismatchError 对象的类型不匹配预期的类型。
SecurityError 此操作是不安全的。
NetworkError 发生网络错误
AbortError 操作被中止
URLMismatchError 给定的URL不匹配另一个URL。
QuotaExceededError 已经超过给定配额。
TimeoutError 操作超时。
InvalidNodeTypeError 这个操作的 节点或节点祖先 是不正确的
DataCloneError 对象不能克隆。

16.DOMException

DOMException 接口代表调用方法或访问 Web API 属性时发生的异常事件(被称为异常exception)。 这基本上是在 Web API 中如何描述错误情况的。


每个异常都有一个名称 name,一个采用骆驼式命名法的简短字符串,用于描述识别错误或异常情况。


骆驼式命名法(CamelCase style),又称驼峰命名法。与 JavaScript 中更常见的小驼峰命名法有别,此处应是指大驼峰命名法。大驼峰命名法又称 Pascal 命名法。具体为名称中的每个单词仅首字母大写Capitalize)。


属性

描述

code 返回一个 short,包含 error code constants 中的一个,或者返回 0,如果没有匹配的话。这个字段由于历史原因被使用。现在不再使用这个新的DOM异常:他们把这个信息放入 DOMException.name (en-US) 属性。
message 返回一个 DOMString 代表与给定的错误名称有关信息或描述。
name

返回一个 DOMString 包含与错误名称相关的字符串.

错误名称:

属性

描述

IndexSizeError

索引不在允许的范围内。例如,这可以被 Range 对象抛出。(遗留代码值:1,遗留常数名称:INDEX_SIZE_ERR)

HierarchyRequestError 节点树层次结构有误。(遗留代码值: 3 ,遗留常数名称:HIERARCHY_REQUEST_ERR)
WrongDocumentError 对象在错误的 Document中。(遗留代码值: 4,遗留常数名称: WRONG_DOCUMENT_ERR
InvalidCharacterError 字符串包含无效字符。(Legacy code value: 5 and legacy constant name: INVALID_CHARACTER_ERR
NoModificationAllowedError 对象不能被修改。(Legacy code value: 7 and legacy constant name: NO_MODIFICATION_ALLOWED_ERR
NotFoundError 找不到对象。(Legacy code value: 8 and legacy constant name: NOT_FOUND_ERR
NotSupportedError 不支持的操作。 (Legacy code value: 9 and legacy constant name: NOT_SUPPORTED_ERR)
InvalidStateError 对象是一个无效的状态. (Legacy code value: 11 and legacy constant name: INVALID_STATE_ERR)
SyntaxError 字符串不匹配预期的模式. (Legacy code value: 12 and legacy constant name: SYNTAX_ERR)
InvalidModificationError 对象不能被这种方式修改。 (Legacy code value: 13 and legacy constant name: INVALID_MODIFICATION_ERR)
NamespaceError 操作在XML名称空间是不允许的. (Legacy code value: 14 and legacy constant name: NAMESPACE_ERR)
InvalidAccessError 对象不支持此操作或参数 (Legacy code value: 15 and legacy constant name: INVALID_ACCESS_ERR)
TypeMismatchError  对象的类型不匹配预期的类型. (Legacy code value: 17 and legacy constant name: TYPE_MISMATCH_ERR) 这个值已被弃用,  JavaScript TypeError 异常被提出而不是DOMException
SecurityError  操作不安全。 (Legacy code value: 18 and legacy constant name: SECURITY_ERR)
NetworkError  网络错误发生. (Legacy code value: 19 and legacy constant name: NETWORK_ERR)
AbortError  T操作中止. (Legacy code value: 20 and legacy constant name: ABORT_ERR)
URLMismatchError  给定的URL不匹配另一个URL。 (Legacy code value: 21 and legacy constant name: URL_MISMATCH_ERR)
QuotaExceededError  给定配额已经超过了(Legacy code value: 22 and legacy constant name: QUOTA_EXCEEDED_ERR)
QuotaExceededError  给定配额已经超过了(Legacy code value: 22 and legacy constant name: QUOTA_EXCEEDED_ERR)

TimeoutError 

操作超时. (Legacy code value: 23 and legacy constant name: TIMEOUT_ERR)

InvalidNodeTypeError

这个操作的节点是不正确的或祖先是不正确的. (Legacy code value: 24 and legacy constant name: INVALID_NODE_TYPE_ERR)
sDataCloneError  对象不可被克隆。 (Legacy code value: 25 and legacy constant name: DATA_CLONE_ERR)
EncodingError  编码或解码操作失败 (没有遗留代码值和常量的名字).
NotReadableError  输入/输出读操作失败(没有遗留代码值和常量的名字).
UnknownError  因未知的瞬态的原因使操作失败(例如 内存不足) (No legacy code value and constant name).
ConstraintError  条件没满足而导致事件失败的异常操作 (No legacy code value and constant name).
DataError  提供的数据不足 (No legacy code value and constant name).
TransactionInactiveError  请求被当前不活跃的事件或已完成事件阻止 (No legacy code value and constant name)。
ReadOnlyError  尝试操作 "readonly" 事件 (No legacy code value and constant name)。
VersionError  尝试打开一个比现有版本更低的数据库(No legacy code value and constant name)。
OperationError  因特定操作失败原因而失败 (No legacy code value and constant name).
NotAllowedError 

<dd请求不被用户代理或当前上下文所在平台允许,可能因为用户拒绝授权 (no="" and="" code="" constant="" dd="" legacy="" name)。<="" value=""> </dd请求不被用户代理或当前上下文所在平台允许,可能因为用户拒绝授权>


17.DOMImplenatation

DOMImplementation 接口代表了一个对象,这个对象提供了不依赖于任何document的方法。这个对象可以通过Document.implementation属性获得

属性

描述

createDocument() 创建一个新 Document 对象和指定的根元素。
createDocumentType() 创建空的 DocumentType 节点。
getFeature() 返回可执行定义特性和版本的 API 的对象。
hasFeature() 检查 DOM implementation 是否可执行指定的特性和版本。

18.DOMString

DOMString 是一个UTF-16字符串。由于JavaScript已经使用了这样的字符串,所以DOMString 直接映射到 一个String

null传递给接受DOMString的方法或参数时通常会把其stringifies为“null”。

19.DOMTokenList    

DOMTokenList 接口表示一组空格分隔的标记(tokens)。如由 Element.classListHTMLLinkElement.relList(en-US)HTMLAnchorElement.relList(en-US)HTMLAreaElement.relList(en-US) 返回的一组值。它和 JavaScript Array 对象一样,索引从 0 开始。DOMTokenList 总是区分大小写(case-sensitive)。


属性

描述

length

一个整数,表示存储在该对象里值的个数。

value

该属性以 DOMString 的形式返回 DOMTokenList 列表的值。

item(index) 根据传入的索引值返回一个值,如果索引值大于等于符号列表的长度(length),则返回 undefined  null,在 Gecko 7.0 之前的版本中返回 null
contains(token) 如果 DOMTokenList 列表中包括相应的字符串 token,则返回 true,否则返回 false
add(token1[, token2[, ...tokenN]]) 添加一个或多个标记(token)到 DOMTokenList 列表中。
remove(token1[, token2[, ...tokenN]])  DOMTokenList 列表中移除一个或多个标记(token)。
replace(oldToken, newToken) 使用 newToken 替换 token 。
supports(token) 如果传入的 token 是相关属性(attribute)支持的标记,则返回 true 。
toggle(token [, force]) 从 DOMTokenList 字符串中移除标记字串(token),并返回 false。如果传入的字串(token)不存在,则将其添加进去,并返回 true 。force 是一个可选的布尔值,如果传入 true ,且传入的 token 不存在,则将其添加进去并返回 true ,若传入的 token 存在,则直接返回 true ;反之,如果传入 false ,则移除存在的 token ,并返回 false ,如 token 不存在则直接返回 false 。
entries() 返回一个迭代器(iterator) ,以遍历这个对象中的所有键值对。
forEach(callback [, thisArg])

为每个 DOMTokenList 中的元素都调用一次传入的 callback 函数 。

keys() 返回一个迭代器(iterator)以遍历这个对象中所有键值对的键。
values()

返回一个迭代器(iterator)以遍历这个对象中所有键值对的值。



20.Element

Element 是一个通用性非常强的基类,所有 Document 对象下的对象都继承自它。这个接口描述了所有相同种类的元素所普遍具有的方法和属性。一些接口继承自 Element 并且增加了一些额外功能的接口描述了具体的行为。例如, HTMLElement 接口是所有 HTML 元素的基本接口,而 SVGElement 接口是所有 SVG 元素的基础。大多数功能是在这个类的更深层级(hierarchy)的接口中被进一步制定的。


在 Web 平台的领域以外的语言,比如 XUL,通过 XULElement 接口,同样也实现了 Element 接口。


属性

描述

attributes 返回元素的属性的 NamedNodeMap
baseURI 返回元素的绝对基准 URI
childNodes 返回元素的子节点的 NodeList
firstChild 返回元素的首个子节点
lastChild 返回元素的最后一个子节点
localName 返回元素名称的本地部分
namespaceURI 返回元素的命名空间 URI
nextSibling 返回元素之后紧跟的节点
nodeName 返回节点的名称,依据其类型。
nodeType 返回节点的类型
ownerDocument 返回元素所属的根元素 (document 对象)
parentNode 返回元素的父节点
prefix 设置或返回元素的命名空间前缀
previousSibling 返回元素之前紧随的节点
schemaTypeInfo 返回与元素相关联的类型信息
tagName 返回元素的名称
textContent 设置或返回元素及其后代的文本内容
text 返回节点及其后代的文本 (IE-only)
xml 返回节点及其后代的 XML (IE-only)
appendChild() 向节点的子节点列表末尾添加新的子节点。
cloneNode() 克隆节点。
compareDocumentPosition() 比较两节点的文档位置。
dispatchEvent() 给节点分派一个合成事件。
getAttribute() 返回属性的值。
getAttributeNS() 返回属性的值。
getAttributeNode() 以 Attribute 对象返回属性节点。
getAttributeNodeNS() 以 Attribute 对象返回属性节点。
getElementsByTagName() 找到具有指定标签名的子孙元素。
getElementsByTagNameNS() 找到具有指定标签名和命名空间的元素。
getFeature(feature,version) 返回 DOM 对象,此对象可执行拥有指定特性和版本的专门的 API。
getUserData(key) 返回关联节点上键的对象。此对象必须首先通过使用相同的键来调用 setUserData 来设置到此节点。
hasAttribute() 返回元素是否拥有指定的属性。
hasAttributeNS() 返回元素是否拥有指定的属性。
hasAttributes() 返回元素是否拥有属性。
hasChildNodes() 返回元素是否拥有子节点。
insertBefore() 在已有的子节点之前插入一个新的子节点。
isDefaultNamespace(URI) 返回指定的命名空间 URI 是否为默认。
isEqualNode() 检查两节点是否相等。
isSameNode() 检查两节点是否为同一节点。
isSupported(feature,version) 返回指定的特性是否在此元素上得到支持。
lookupNamespaceURI() 返回匹配指定前缀的命名空间 URI。
lookupPrefix() 返回匹配指定的命名空间 URI 的前缀。
normalize()  
removeAttribute() 删除指定的属性。
removeAttributeNS() 删除指定的属性。
removeAttributeNode() 删除指定的属性节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
setUserData(key,data,handler) 把对象关联到元素上的键。
setAttribute() 添加新属性。
setAttributeNS() 添加新属性。
setAttributeNode() 添加新的属性节点。
setAttributeNodeNS(attrnode) 添加新的属性节点。
setIdAttribute(name,isId) 如果 Attribute 对象 isId 属性为 true,那么此方法会把指定的属性声明为一个用户确定 ID 的属性(user-determined ID attribute)。
setIdAttributeNS(uri,name,isId) 如果 Attribute 对象 isId 属性为 true,那么此方法会把指定的属性声明为一个用户确定 ID 的属性(user-determined ID attribute)(带有命名空间)。
setIdAttributeNode(idAttr,isId) 如果 Attribute 对象 isId 属性为 true,那么此方法会把指定的属性声明为一个用户确定 ID 的属性(user-determined ID attribute)。

21.event

Event 接口表示在 DOM 中出现的事件。


一些事件是由用户触发的,例如鼠标或键盘事件;而其他事件常由 API 生成,例如指示动画已经完成运行的事件,视频已被暂停等等。事件也可以通过脚本代码触发,例如对元素调用 HTMLElement.click() 方法,或者定义一些自定义事件,再使用 EventTarget.dispatchEvent() 方法将自定义事件派发往指定的目标(target)。


有许多不同类型的事件,其中一些使用基于 Event 主接口的二次接口。Event 本身包含适用于所有事件的属性和方法。


很多DOM元素可以被设计接收(或者监听) 这些事件, 并且执行代码去响应(或者处理)它们。通过EventTarget.addEventListener()方法可以将事件处理函数绑定到不同的HTML elements上 (比如,

, 等等) 。这种绑定事件处理函数的方式基本替换了老版本中使用HTML event handler attributes来绑定事件处理函数的方式。除此之外,通过正确使用removeEventListener()方法,这些事件处理函数也能被移除。


Note: 一个元素可以绑定多个事件处理函数,甚至是同一种类型的事件。尤其是这种分离的,并且相互独立的代码模块对同一个元素绑定事件处理函数,每一个模块代码都有着独立的目的。(比如,一个网页同时有着广告模块和统计模块同时监听视频播放元素)

当有很多嵌套的元素,并且每一个元素都有着自己的事件处理函数,事件处理过程会变得非常复杂。尤其当一个父元素和子元素绑定有相同类型的事件处理函数的时候。因为结构上的重叠,事件处理函数可能会依次被触发,触发的顺序取决于事件冒泡和事件捕获在每一个元素上的设置情况。


属性

描述

bubbles 返回布尔值,指示事件是否是起泡事件类型。
cancelable 返回布尔值,指示事件是否可拥可取消的默认动作。
currentTarget 返回其事件监听器触发该事件的元素。
eventPhase 返回事件传播的当前阶段。
target 返回触发此事件的元素(事件的目标节点)。
timeStamp 返回事件生成的日期和时间。
type 返回当前 Event 对象表示的事件的名称。
initEvent() 初始化新创建的 Event 对象的属性。
preventDefault() 通知浏览器不要执行与事件关联的默认动作。
stopPropagation() 终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

22.EventTarget

EventTarget 是一个 DOM 接口,由可以接收事件、并且可以创建侦听器的对象实现。


Elementdocumentwindow 是最常见的 event targets ,但是其他对象也可以作为 event targets,比如 XMLHttpRequestAudioNodeAudioContext  等等。

许多 event targets (包括 elements, documents 和 windows)支持通过 onevent 特性和属性设置事件处理程序 (en-US) (event handlers)。

属性

描述

addEventListener() 在EventTarget上注册特定事件类型的事件处理程序。
removeEventListener() EventTarget中删除事件侦听器。

dispatchEvent()

将事件分派到此EventTarget。


23.HTMLCollection

HTMLCollection 接口表示一个包含了元素(元素顺序为文档流中的顺序)的通用集合(generic collection),还提供了用来从该集合中选择元素的方法和属性。


注意:由于历史原因(DOM4之前,实现该接口的集合只能包含 HTML 元素),该接口被称为 HTMLCollection。

HTML DOM 中的 HTMLCollection 是即时更新的(live);当其所包含的文档结构发生改变时,它会自动更新。

属性

描述

cssRules 只读属性,返回指示列表长度的整数(即集合中的元素数)。
item() 返回集合中指定位置的元素(节点)。
namedItem() 返回集合中 name 属性或 id 属性具有指定值的元素(节点)。

24.MutationObserver

MutationObserver接口提供了监视对DOM树所做更改的能力。它被设计为旧的Mutation Events功能的替代品,该功能是DOM3 Events规范的一部分。


属性

描述

disconnect()

阻止 MutationObserver 实例继续接收的通知,直到再次调用其observe()方法,该观察者对象包含的回调函数都不会再被调用。

observe()

配置MutationObserver在DOM更改匹配给定选项时,通过其回调函数开始接收通知。

takeRecords()

从MutationObserver的通知队列中删除所有待处理的通知,并将它们返回到MutationRecord对象的新Array中。

25.MutationRecord

每个 MutationRecord 都代表一个独立的 DOM 变化,在每次随 DOM 变化调用 MutationObserver 的回调函数时,一个相应的 MutationRecord 会被作为参数,传递给回调函数。

属性

描述

type 如果是属性变化,则返回 "attributes";
如果是 characterData 节点变化,则返回 "characterData";
如果是子节点树 childList 变化,则返回 "childList"。
target 根据 MutationRecord.type,返回变化所影响的节点。
对于属性 attributes 变化,返回属性变化的节点。
对于 characterData 变化,返回 characterData 节点。
对于子节点树 childList 变化,返回子节点变化的节点。
addedNodes 返回被添加的节点。
如果没有节点被添加,则该属性将是一个空的 NodeList。
removedNodes 返回被移除的节点。
如果没有节点被移除,则该属性将是一个空的 NodeList。
previousSibling 返回被添加或移除的节点之前的兄弟节点,或者 null。
nextSibling 返回被添加或移除的节点之后的兄弟节点,或者 null。
attributeName 返回被修改的属性的属性名,或者 null。
attributeNamespace 返回被修改属性的命名空间,或者 null。
oldValue

返回值取决于 MutationRecord.type。
对于属性 attributes 变化,返回变化之前的属性值。
对于 characterData 变化,返回变化之前的数据。
对于子节点树 childList 变化,返回 null。

注意,如果要让这个属性起作用,在相应的 MutationObserverInit 参数的 MutationObserver observe 方法中,attributeOldValue 或者 characterDataOldValue 必须设置为 true。


26.Node

Node 是一个接口,各种类型的 DOM API 对象会从这个接口继承。它允许我们使用相似的方式对待这些不同类型的对象;比如, 继承同一组方法,或者用同样的方式测试。


以下接口都从 Node 继承其方法和属性:

Document, Element, Attr, CharacterData (which Text, Comment, and CDATASection inherit), ProcessingInstruction(en-US), DocumentFragment, DocumentType, Notation, Entity, EntityReference


在方法和属性不相关的特定情况下,这些接口可能返回 null。它们可能会抛出异常 - 例如,当将子节点添加到不允许子节点存在的节点时。

属性

描述

baseURI 返回节点的绝对基准 URI。
childNodes 返回节点到子节点的节点列表。
firstChild 返回节点的首个子节点。
lastChild 返回节点的最后一个子节点。
localName 返回节点的本地名称。
namespaceURI 返回节点的命名空间 URI。
nextSibling 返回节点之后紧跟的同级节点。
nodeName 返回节点的名称,根据其类型。
nodeType 返回节点的类型。
nodeValue 设置或返回节点的值,根据其类型。
ownerDocument 返回节点的根元素(document 对象)。
parentNode 返回节点的父节点。
prefix 设置或返回节点的命名空间前缀。
previousSibling 返回节点之前紧跟的同级节点。
textContent 设置或返回节点及其后代的文本内容。
text 返回节点及其后代的文本(IE 独有的属性)。
xml 返回节点及其后代的 XML(IE 独有的属性)。
appendChild() 向节点的子节点列表的结尾添加新的子节点。
cloneNode() 复制节点。
compareDocumentPosition() 对比两个节点的文档位置。
getFeature(feature,version) 返回一个 DOM 对象,此对象可执行带有指定特性和版本的专门的 API。
getUserData(key) 返回与此节点上的某个键相关联的对象。此对象必须首先通过使用相同的键来调用 setUserData 被设置到此节点。
hasAttributes() 判断当前节点是否拥有属性。
hasChildNodes() 判断当前节点是否拥有子节点。
insertBefore() 在指定的子节点前插入新的子节点。
isDefaultNamespace(URI) 返回指定的命名空间 URI 是否为默认。
isEqualNode() 检查两个节点是否相等。
isSameNode() 检查两个节点是否是相同的节点。
isSupported() 返回当前节点是否支持某个特性。
lookupNamespaceURI() 返回匹配指定前缀的命名空间 URI。
lookupPrefix() 返回匹配指定命名空间 URI 的前缀。
normalize() 合并相邻的Text节点并删除空的Text节点。
removeChild() 删除(并返回)当前节点的指定子节点。
replaceChild() 用新节点替换一个子节点。
selectNodes() 用一个 XPath 表达式查询选择节点。
selectSingleNode() 查找和 XPath 查询匹配的一个节点。
transformNode() 使用 XSLT 把一个节点转换为一个字符串。
transformNodeToObject() 使用 XSLT 把一个节点转换为一个文档。
setUserData(key,data,handler) 把对象关联到节点上的一个键上。

27.NodeFilter

NodeFilter 接口表示一个对象,此对象用于过滤 NodeIteratorTreeWalker 中的节点。它既不能处理 DOM,也不能遍历节点;它只能根据提供的过滤器对单个节点进行判定。


注意:浏览器不提供任何实现该接口的对象。用户需要自己编写该对象,根据需要自行定制 acceptNode() 方法,以用于TreeWalker 或 NodeIterator 对象。


属性

描述

acceptNode() 返回一个 unsigned short,用于表示提供的Node 是否需要被NodeIterator  TreeWalker 迭代算法所接受。这个方法应由使用 NodeFilter 的用户编写。

可能的值如下:

常量 描述
FILTER_ACCEPT 当需要接受一个节点时,NodeFilter.acceptNode()返回该值。
FILTER_REJECT 当需要拒绝一个节点时,NodeFilter.acceptNode()返回该值。对于 TreeWalker,这个节点的子节点也会被拒绝。对于 NodeIterator,这个常量的表现与FILTER_SKIP一样。
FILTER_SKIP 当NodeIterator 或 TreeWalker 对象需要跳过一个节点时,NodeFilter.acceptNode()返回该值。但被跳过节点的子节点仍会被考虑,意即“跳过该节点但不包括其子节点”。


28.NodeIterator

NodeIterator 接口表示一个遍历 DOM 子树中节点列表的成员的迭代器。节点将按照文档顺序返回。


NodeIterator可以使用Document.createNodeIterator() 方法创建,如下所示:

varnodeIterator=document.createNodeIterator(root, whatToShow, filter);

属性

描述

root

返回一个Node ,它代表创建 NodeIterator 时指定的根节点。

whatToShow

返回一个无符号长整型,它是一个由描述必须呈现的Node类型的常量构成的位掩码。不匹配的节点被跳过,但是如果相关,他们的子节点可能被包括在内。

filter

返回一个用来选择相关节点的 NodeFilter .
expandEntityReferences

不推荐

referenceNode  返回当前遍历到的 Node .
pointerBeforeReferenceNode

实验性:返回一个Boolean标志,该标志指示NodeFilter是否在(如果此值是)之前或之后(如果此值是)Node指示的锚节点。

detach()

这个方法不是必需的. 它现在什么也不做. 之前用来告诉引擎,NodeIterator 已经不会再使用,现在已经不做任何事情.

previousNode()

返回前一个 Node ,如果不存在则返回 null.

nextNode()

返回下一个 Node , 如果不存在则返回null .


29.Range

Range 接口表示一个包含节点与文本节点的一部分的文档片段。

可以用 Document 对象的 Document.createRange 方法创建 Range,也可以用 Selection 对象的 getRangeAt 方法获取 Range。另外,还可以通过 Document 对象的构造函数 Range() 来得到 Range。

属性

描述

collapsed 如果范围的开始点和结束点在文档的同一位置,则为 true,即范围是空的,或折叠的。
commonAncestorContainer 范围的开始点和结束点的(即它们的祖先节点)、嵌套最深的 Document 节点。
endContainer 包含范围的结束点的 Document 节点。
endOffset endContainer 中的结束点位置。
startContainer 包含范围的开始点的 Document 节点。
startOffset startContainer 中的开始点位置。
cloneContents() 返回新的 DocumentFragment 对象,它包含该范围表示的文档区域的副本。
cloneRange() 创建一个新的 Range 对象,表示与当前的 Range 对象相同的文档区域。
collapse() 折叠该范围,使它的边界点重合。
compareBoundaryPoints() 比较指定范围的边界点和当前范围的边界点,根据它们的顺序返回 -1、0 和 1。比较哪个边界点由它的第一个参数指定,它的值必须是前面定义的常量之一。
deleteContents() 删除当前 Range 对象表示的文档区域。
detach() 通知实现不再使用当前的范围,可以停止跟踪。如果调用了范围的这个方法,那么接下来调用的该范围任何方法都会抛出代码为 INVALID_STATE_ERR 的 DOMException 异常。
extractContents() 删除当前范围表示的文档区域,并且以 DocumentFragment 对象的形式返回那个区域的内容。该方法和 cloneContents() 方法与 deleteContents() 方法的组合很相似。
insertNode() 把指定的节点插入文档范围的开始点。
selectNode() 设置该范围的边界点,使它包含指定的节点和它的所有子孙节点。
selectNodeContents() 设置该范围的边界点,使它包含指定节点的子孙节点,但不包含指定的节点本身。
setEnd() 把该范围的结束点设置为指定的节点和偏移量。
setEndAfter() 把该范围的结束点设置为紧邻指定节点的节点之后。
setEndBefore() 把该范围的结束点设置为紧邻指定节点之前。
setStart() 把该范围的开始点设置为指定的节点中的指定偏移量。
setStartAfter() 把该范围的开始点设置为紧邻指定节点的节点之后。
setStartBefore() 把该范围的开始点设置为紧邻指定节点之前。
surroundContents() 把指定的节点插入文档范围的开始点,然后重定范围中的所有节点的父节点,使它们成为新插入的节点的子孙节点。
toString() 返回该范围表示的文档区域的纯文本内容。

30.Text

Text 节点表示 HTML 或 XML 文档中的一系列纯文本。因为纯文本出现在 HTML 和 XML 的元素和属性中,所以 Text 节点通常作为 Element 节点和 Attr 节点的子节点出现。


Text 节点继承了 CharacterData 接口,通过从 CharacterData 接口继承的 data 属性或从 Node 接口继承的 nadevalue 属性,可以访问 Text 节点的文本内容。


用从 CharacterData 继承的方法或 Text 接口自身定义的 splitText() 方法可以操作 Text 节点。使用 document.createTextNode() 来创建一个新的 Text 节点。


Text 节点没有子节点。

属性

描述

data 设置或返回元素或属性的文本
isElementContentWhitespace 判断文本节点是否包含空白字符内容。
length 返回元素或属性的文本长度
wholeText 以文档中的顺序向此节点返回相邻文本节点的所有文本
appendData() 向节点追加数据
deleteData() 从节点删除数据
insertData() 向节点中插入数据
replaceData() 替换节点中的数据
replaceWholeText() 使用指定文本来替换此节点以及所有相邻的文本节点
splitText() 把一个 Text 节点分割成两个。
substringData() 从节点提取数据


31.TreeWalker

TreeWalker 对象用于表示文档子树中的节点和它们的位置。

TreeWalker 可以使用 Document.createTreeWalker() 方法创建。

属性

描述

root

返回一个 Node ,表示新建 TreeWalker 时所声明的根节点。

whatToShow

返回一个 unsigned long 类型的常量位掩码,表示需要筛选的Node 类型。不匹配的节点会跳过,但其子节点,如果符合条件,则也会被包含。

filter

返回一个实现NodeFilter接口的对象,这个对象用来挑选相关的节点。
expandEntityReferences 是个Boolean (en-US)的标记,表明是否在丢弃一个EntityReference是否同时丢弃其后代。

currentNode

返回 TreeWalker   当前指向的Node


parentNode()

移动当前 Node到文档顺序中的第一个“可见”的祖先节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。

firstChild()

移动当前 Node到当前节点的第一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。

lastChild()

移动当前 Node到当前节点的最末一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。

previousSibling()

移动当前 Node到当前节点的前一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。

nextSibling()

移动当前 Node到当前节点的后一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。

previousSibling()

移动当前 Node到文档顺序中前一个节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。

nextNode()

移动当前 Node到文档顺序中下一个节点,并返回该节点。如果没有这样的节点,则会返回 null  ,同时也不会发生移动。


32.URL

URL接口用于解析,构造,规范化和编码 URLs。 它通过提供允许您轻松阅读和修改URL组件的属性来工作。 通常,通过在调用URL的构造函数时将URL指定为字符串或提供相对URL和基本URL来创建新的URL对象。 然后,您可以轻松读取URL的已解析组成部分或对URL进行更改。


如果浏览器尚不支持URL()构造函数,则可以使用Window中的Window.URL属性。 确保检查您的任何目标浏览器是否要求对此添加前缀。


属性

描述

hash

包含'#'USVString,后跟URL的片段标识符。

host

一个USVString,其中包含域(即主机名),后跟(如果指定了端口)“:”和URL的端口。

hostname

包含 URL 域名的 USVString

href

包含完整 URL 的 USVString

origin

返回一个包含协议名、域名和端口号的 USVString

password

包含在域名前面指定的密码的  USVString 。

pathname

以 '/' 起头紧跟着 URL 文件路径的 DOMString

port

包含 URL 端口号的 USVString

protocol

包含 URL 协议名的 USVString,末尾带 ':'。

search

一个USVString ,指示URL的参数字符串; 如果提供了任何参数,则此字符串包括所有参数,并以开头的“?”开头 字符。

searchParams

URLSearchParams对象,可用于访问search中找到的各个查询参数。

username

包含在域名前面指定的用户名的 USVString

toString()

返回包含整个URL的USVString。 它是URL.href的同义词,尽管它不能用于修改值。

toJSON()

返回包含整个URL的USVString。 它返回与href属性相同的字符串。

createObjectURL()

返回一个DOMString ,包含一个唯一的blob链接(该链接协议为以blob:,后跟唯一标识浏览器中的对象的掩码)。

revokeObjectURL()

销毁之前使用URL.createObjectURL()方法创建的URL实例。

33.window

window 对象表示一个包含DOM文档的窗口,其 document 属性指向窗口中载入的 DOM文档 。使用 document.defaultView 属性可以获取指定文档所在窗口。


window作为全局变量,代表了脚本正在运行的窗口,暴露给 Javascript 代码。


本节为 DOM Window 对象中可用的所有方法、属性和事件提供简要参考。window 对象实现了 Window 接口,此接口继承自 AbstractView 接口。一些额外的全局函数、命名空间、对象、接口和构造函数与 window 没有典型的关联,但却是有效的,它们在 JavaScript参考 和 DOM参考 中列出。


在有标签页功能的浏览器中,每个标签都拥有自己的 window 对象;也就是说,同一个窗口的标签页之间不会共享一个 window 对象。有一些方法,如 window.resizeTowindow.resizeBy 之类的方法会作用于整个窗口而不是 window 对象所属的那个标签。一般而言,如果一样东西无法恰当地作用于标签,那么它就会作用于窗口。


属性

描述

closed 返回窗口是否已被关闭。
defaultStatus 设置或返回窗口状态栏中的默认文本。
document 对 Document 对象的只读引用。请参阅 Document 对象。
history 对 History 对象的只读引用。请参数 History 对象。
innerheight 返回窗口的文档显示区的高度。
innerwidth 返回窗口的文档显示区的宽度。
length 设置或返回窗口中的框架数量。
location 用于窗口或框架的 Location 对象。请参阅 Location 对象。
name 设置或返回窗口的名称。
Navigator 对 Navigator 对象的只读引用。请参数 Navigator 对象。
opener 返回对创建此窗口的窗口的引用。
outerheight 返回窗口的外部高度。
outerwidth 返回窗口的外部宽度。
pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
parent 返回父窗口。
Screen 对 Screen 对象的只读引用。请参数 Screen 对象。
self 返回对当前窗口的引用。等价于 Window 属性。
status 设置窗口状态栏的文本。
top 返回最顶层的先辈窗口。
window window 属性等价于 self 属性,它包含了对窗口自身的引用。

screenLeft

screenTop

screenX

screenY

只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。
alert() 显示带有一段消息和一个确认按钮的警告框。
blur() 把键盘焦点从顶层窗口移开。
clearInterval() 取消由 setInterval() 设置的 timeout。
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
close() 关闭浏览器窗口。
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
createPopup() 创建一个 pop-up 窗口。
focus() 把键盘焦点给予一个窗口。
moveBy() 可相对窗口的当前坐标把它移动指定的像素。
moveTo() 把窗口的左上角移动到一个指定的坐标。
open() 打开一个新的浏览器窗口或查找一个已命名的窗口。
print() 打印当前窗口的内容。
prompt() 显示可提示用户输入的对话框。
resizeBy() 按照指定的像素调整窗口的大小。
resizeTo() 把窗口的大小调整到指定的宽度和高度。
scrollBy() 按照指定的像素值来滚动内容。
scrollTo() 把内容滚动到指定的坐标。
setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout() 在指定的毫秒数后调用函数或计算表达式。

Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。


同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。


除了上面列出的属性和方法,Windos 对象还实现了核心 JavaScript 所定义的所有全局属性和方法。


Window 对象的 window 属性和 self 属性引用的都是它自己。当你想明确地引用当前窗口,而不仅仅是隐式地引用它时,可以使用这两个属性。除了这两个属性之外,parent 属性、top 属性以及 frame[] 数组都引用了与当前 Window 对象相关的其他 Window 对象。

34.worker

Worker 接口是 Web Workers API 的一部分,指的是一种可由脚本创建的后台任务,任务执行中可以向其创建者收发信息。要创建一个 Worker只须调用 Worker(URL) 构造函数,函数参数 `URL` 为指定的脚本。


Worker 也可以创建新的 Worker,当然,所有 Worker 必须与其创建者同源(注意:Blink暂时不支持嵌套 Worker)。


需要注意的是,不是所有函数和构造函数(或者说…类)都可以在 Worker 中使用。具体参考页面 Worker 所支持的函数和类。Worker 可以使用 XMLHttpRequest 发送请求,但是请求的  responseXMLchannel 两个属性值始终返回nullfetch 仍可正常使用,没有类似的限制)。


属性

描述

onmessage 当MessageEvent类型的事件冒泡到 worker 时,事件监听函数 EventListener 被调用.  例如,一个消息通过 DedicatedWorkerGlobalScope.postMessage (en-US),从执行者发送到父页面对象,消息保存在事件对象的 data (en-US) 属性中.
onmessageerror

当messageerror 类型的事件发生时,对应的event handler 代码被调用。

postMessage() 发送一条消息到最近的外层对象,消息可由任何 JavaScript 对象组成。
terminate()

立即终止 worker。该方法不会给 worker 留下任何完成操作的机会;就是简单的立即停止。Service Woker 不支持这个方法。

35.XMLDocument

XML文件接口表示 XML 文档。它继承了通用document,并且没有添加任何特定的方法或属性:但是,与这两种类型的文档,几个算法的行为不同。


属性

描述

async

用于XMLDocument.load()以表示异步请求。

load()

加载 XML 文档。


相关文章
|
7月前
|
缓存 JavaScript 前端开发
【JavaScript 技术专栏】DOM 操作全攻略:从基础到进阶
【4月更文挑战第30天】本文深入讲解JavaScript与DOM交互,涵盖DOM基础、获取/修改元素、创建/删除元素、事件处理结合及性能优化。通过学习,开发者能掌握动态改变网页内容、结构和样式的技能,实现更丰富的交互体验。文中还讨论了DOM操作在实际案例、与其他前端技术结合的应用,助你提升前端开发能力。
260 0
|
7月前
|
JavaScript 前端开发
低效的DOM操作(js的问题)
低效的DOM操作(js的问题)
23 0
|
6月前
|
JavaScript 前端开发 UED
JavaScript基础-DOM操作:查找、创建、修改
【6月更文挑战第12天】本文介绍了DOM基础,包括查找元素(getElementById、getElementsByClassName等)、创建新节点(createElement、createTextNode)和修改节点(innerText、innerHTML、setAttribute等)。强调了易错点,如ID唯一性、性能考量和安全问题,并提供了代码示例。熟练掌握DOM操作对前端开发至关重要,但应注意性能优化,适时使用框架或库。
65 2
JavaScript基础-DOM操作:查找、创建、修改
|
6月前
|
JavaScript 前端开发
DOM操作有哪些方法可以改变元素的样式?
【6月更文挑战第30天】DOM操作有哪些方法可以改变元素的样式?
46 2
|
6月前
|
JavaScript 前端开发 开发者
DOM操作
【6月更文挑战第30天】DOM操作
38 1
|
5月前
|
JavaScript 前端开发 API
前端框架与库 - jQuery基础与DOM操作
【7月更文挑战第18天】jQuery 是一个简化JavaScript任务的库,以其“write less, do more”理念著称。核心功能包括DOM操作、事件处理和Ajax。DOM操作如选择元素(`$(&quot;p&quot;)`、`$(&quot;#myDiv&quot;)`、`$(&quot;.myClass&quot;)`)、创建及添加元素、修改属性和内容。事件处理如绑定(`click`)和触发(`trigger`)。常见问题涉及`$`符号冲突(使用`jQuery`代替)、异步加载管理和选择器性能优化。了解并规避这些问题能提升jQuery使用效率。
36 0
|
6月前
|
JavaScript 前端开发 安全
【JavaScript 】DOM操作快速入门
【JavaScript 】DOM操作快速入门
75 2
|
6月前
|
JSON JavaScript 数据格式
技术好文:tabel表格的dom操作
技术好文:tabel表格的dom操作
26 0
|
7月前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
48 2
|
7月前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。