成员

(静态, 常量) $

在另一个DOM元素(默认为document)的可选context中查找匹配selector的单个DOM元素。

(静态, 常量) $$

在另一个DOM元素(默认为document)的可选context中查找所有匹配selector的DOM元素。

方法

(静态) addClass(element, …classesToAdd) → {Element}

向元素添加类名。

参数
名称类型属性描述
element元素

要添加类名的元素。

要添加的类string<可重复>

一个或多个要添加的类名。

返回

添加类名后的DOM元素。

类型: 
元素

(静态) appendContent(el, content) → {Element}

规范化内容并将其附加到元素。

参数
名称类型描述
元素元素

要附加规范化内容的元素。

内容ContentDescriptor

内容描述符值。

返回

附加规范化内容后的元素。

类型: 
元素

(静态) blockTextSelection()

尝试阻止文本选择功能。

(静态) computedStyle(el, prop)

一个安全的getComputedStyle方法。

这是必需的,因为在Firefox中,如果播放器加载在display:none的iframe中,则getComputedStyle会返回null,因此我们进行空值检查以确保播放器在这些情况下不会出错。

参数
名称类型描述
元素元素

您要获取计算样式的元素

propstring

您想要的属性名称

(静态) copyStyleSheetsToWindow(win)

将文档样式表复制到另一个窗口。

参数
名称类型描述
winWindow

您要复制文档样式表的目标窗口元素。

(静态) createEl(tagName可选, properties可选, attributes可选, content可选) → {Element}

创建元素并应用属性、特性和插入内容。

参数
名称类型属性默认描述
tagName (标签名)string<可选>
'div'

要创建的标签名称。

properties (属性)Object<可选>
{}

要应用的元素属性。

属性Object<可选>
{}

要应用的元素特性。

内容ContentDescriptor<可选>

内容描述符对象。

返回

创建的元素。

类型: 
元素

(静态) emptyEl(el) → {Element}

清空元素的内容。

参数
名称类型描述
元素元素

要清空子元素的元素

返回

没有子元素的元素

类型: 
元素

(静态) findPosition(el) → {module:dom~Position}

获取元素在DOM中的位置。

使用John Resig的getBoundingClientRect技术。

参数
名称类型描述
元素元素

要获取偏移量的元素。

返回

传入元素的定位。

类型: 
module:dom~Position

(静态) getAttribute(el, attribute) → {string}

获取元素的属性值。

参数
名称类型描述
元素元素

一个DOM元素。

属性string

要获取值的属性。

返回

属性的值。

类型: 
string

(静态) getAttributes(tag) → {Object}

获取HTML标签上定义的元素属性值。

特性与属性不同。它们在标签上定义或通过setAttribute定义。

参数
名称类型描述
标签元素

要获取标签特性的元素。

返回

元素的所有特性。布尔特性将为truefalse,其他将为字符串。

类型: 
Object

(静态) getBoundingClientRect(el) → {Object|undefined}

与原生的getBoundingClientRect函数相同,但确保该方法得到所有支持(在我们声称支持的所有浏览器中都支持)并且元素在DOM中才继续。

此包装函数还填充了某些旧浏览器(即IE8)未提供的属性。

此外,某些浏览器不支持向ClientRect/DOMRect对象添加属性;因此,我们使用标准属性(除了xy,它们未被广泛支持)进行浅拷贝。这有助于避免键不可枚举的实现。

参数
名称类型描述
元素元素

我们要计算其ClientRect的元素。

返回

总是返回一个普通对象——如果不能则返回undefined

类型: 
对象 | undefined

(静态) getPointerPosition(el, event) → {module:dom~Coordinates}

获取元素内的指针位置。

坐标的基准是元素的左下角。

参数
名称类型描述
元素元素

要获取指针位置的元素。

eventEvent

事件对象。

返回

与鼠标位置对应的坐标对象。

类型: 
module:dom~Coordinates

(静态) hasClass(element, classToCheck) → {boolean}

检查元素是否具有某个类名。

参数
名称类型描述
element元素

要检查的元素

classToCheckstring

要检查的类名

抛出

如果classToCheck包含空格,则抛出错误。

类型
错误
返回

如果元素具有该类,则为true,否则为false

类型: 
布尔值

(静态) insertContent(el, content) → {Element}

规范化内容并将其插入元素;这与appendContent()相同,只是它会先清空元素。

参数
名称类型描述
元素元素

要插入规范化内容的元素。

内容ContentDescriptor

内容描述符值。

返回

插入规范化内容后的元素。

类型: 
元素

(静态) isEl(value) → {boolean}

通过鸭子类型(duck typing)确定值是否为DOM元素。

参数
名称类型描述
*

要检查的值。

返回

如果该值为DOM元素,则为true,否则为false

类型: 
布尔值

(静态) isInFrame() → {boolean}

确定当前DOM是否嵌入在iframe中。

返回

如果DOM嵌入在iframe中,则为true,否则为false

类型: 
布尔值

(静态) isReal() → {boolean}

当前DOM接口是否看起来真实(即非模拟)。

返回

如果DOM看起来真实,则为true,否则为false

类型: 
布尔值

(静态) isSingleLeftClick(event) → {boolean}

检查事件是否为单击左键。

参数
名称类型描述
eventMouseEvent

事件对象。

返回

如果是单击左键,则为true,否则为false

类型: 
布尔值

(静态) isTextNode(value) → {boolean}

通过鸭子类型(duck typing)确定值是否为文本节点。

参数
名称类型描述
*

检查此值是否为文本节点。

返回

如果该值为文本节点,则为true,否则为false

类型: 
布尔值

(静态) normalizeContent(content) → {Array}

规范化内容,以便最终插入DOM。

这允许多种内容定义方法,但有助于避免陷入简单写入innerHTML的陷阱,这可能引起XSS问题。

元素的内容可以以多种类型和组合形式传入,其行为如下:

参数
名称类型描述
内容ContentDescriptor

内容描述符值。

返回

传入的所有内容,已规范化为元素或文本节点的数组。

类型: 
数组

(静态) prependTo(child, parent)

将元素作为另一个元素的第一个子节点插入

参数
名称类型描述
子项元素

要插入的元素

parent元素

要插入子元素的父元素

(静态) removeAttribute(el, attribute)

移除元素的特性。

参数
名称类型描述
元素元素

一个DOM元素。

属性string

要移除的特性。

(静态) removeClass(element, …classesToRemove) → {Element}

从元素中移除类名。

参数
名称类型属性描述
element元素

要从中移除类名的元素。

要移除的类string<可重复>

一个或多个要移除的类名。

返回

移除类名后的DOM元素。

类型: 
元素

(静态) setAttribute(el, attribute, value)

设置元素的特性值。

参数
名称类型描述
元素元素

一个DOM元素。

属性string

要设置的特性。

string

要将属性设置为的值。

(静态) setAttributes(el, attributes可选)

将特性应用于HTML元素。

参数
名称类型属性描述
元素元素

要添加特性的元素。

属性Object<可选>

要应用的特性。

(静态) textContent(el, text) → {Element}

将文本注入元素,完全替换任何现有内容。

参数
名称类型描述
元素HTMLElement

要添加文本内容的元素

文本string

要添加的文本内容。

返回

添加文本内容后的元素。

类型: 
元素

(静态) toggleClass(element, classToToggle, predicate可选) → {Element}

根据可选条件或类名的存在/缺失,向元素添加或从元素移除类名。

参数
名称类型属性描述
element元素

要切换类名的元素。

classToTogglestring

要切换的类。

谓词boolean | PredicateCallback<可选>

请参阅module:dom~PredicateCallback的返回值

返回

已切换类名的元素。

类型: 
元素

(静态) unblockTextSelection()

关闭文本选择阻止。

类型定义

ContentDescriptor()

这是一个混合值,描述通过某种方法注入DOM的内容。它可以是以下类型:

类型描述
string该值将被规范化为文本节点。
元素该值将按原样接受。
Text一个TextNode。该值将按原样接受。
数组一个由字符串、元素、文本节点或函数构成的一维数组。这些函数应返回一个字符串、元素或文本节点(任何其他返回值,如数组,将被忽略)。
Function一个函数,预期返回一个字符串、元素、文本节点或数组——即上述任何其他可能的值。这意味着内容描述符可以是一个返回函数数组的函数,但这些二级函数必须返回字符串、元素或文本节点。

Coordinates

表示DOM元素或鼠标指针的x和y坐标。

类型
  • Object
属性
名称类型描述
x数字

像素x坐标

y数字

像素y坐标

Position

表示DOM元素在页面上的位置。

类型
  • Object
属性
名称类型描述
left数字

左侧像素。

top数字

顶部像素。

PredicateCallback(element, classToToggle) → {boolean|undefined}

toggleClass的回调定义。

参数
名称类型描述
element元素

组件的DOM元素。

classToTogglestring

要切换的className

返回

如果返回trueclassToToggle将添加到element中,但不移除。如果返回falseclassToToggle将从element中移除,但不添加。如果返回undefined,则忽略回调。

类型: 
boolean | undefined