用于各种 DOM 操作和检索函数的工具类。
示例
// 为页面中指定 id 的元素添加类名
tinymce.DOM.addClass('someid', 'someclass');
// 为编辑器内指定 id 的元素添加类名
tinymce.activeEditor.dom.addClass('someid', 'someclass');摘要
属性
| 名称 | 类型 | 摘要 | 定义者 |
|---|---|---|---|
DOM |
| 当前文档的 DOMUtils 实例。 |
|
方法
| 名称 | 摘要 | 定义者 |
|---|---|---|
add() | 将指定的元素添加到另一个或多个元素中。 |
|
addClass() | 为指定的元素添加类名。 |
|
addStyle() | 在文档顶部添加一个 style 元素,并指定其 cssText 内容。 |
|
bind() | 为指定的对象添加事件处理程序。 |
|
create() | 创建一个新元素。 |
|
createFragment() | 根据指定的 HTML 字符串创建文档片段。 |
|
createHTML() | 为元素创建 HTML 字符串。除非传入空的 inner HTML 字符串,否则该元素将被关闭。 |
|
createRng() | 创建新的 DOM Range 对象。如果可用,则使用原生的 DOM Range API;否则,将回退到 TinyMCE 的自定义实现。 |
|
decode() | 对字符串进行实体解码。此方法会解码任何 HTML 实体,例如 |
|
destroy() | 销毁所有对 DOM 的内部引用,以解决内存泄漏问题。 |
|
dispatch() | 在指定的目标上分发指定的事件名称和可选对象。 |
|
encode() | 对字符串进行实体编码。此方法会编码最常见的实体,例如 |
|
findCommonAncestor() | 查找两个元素的共同祖先。这比使用 DOM Range 逻辑更简洁。 |
|
fire() | 在指定的目标上触发指定的事件名称和可选对象。 在 TinyMCE 6.0 中已弃用,并标记为在 TinyMCE 7.0 中移除。请改用 |
|
get() | 通过 ID 返回指定的元素,或者如果参数不是字符串,则返回该输入元素。 |
|
getAttrib() | 通过名称返回指定的属性。 |
|
getAttribs() | 返回包含元素属性的 NodeList。 |
|
getNext() | 返回匹配选择器或函数的下一个节点。 |
|
getOuterHTML() | 返回元素的外部 HTML。 |
|
getParent() | 通过指定的选择器函数返回节点。此函数会遍历所有父节点,并对每个节点调用指定的函数。如果该函数返回 true,表示已找到所需的节点,则循环执行结束,并返回找到的节点。 |
|
getParents() | 返回所有匹配指定选择器函数或模式的父节点列表。如果该函数返回 true,表示已找到所需的节点,并将该节点收集起来。 |
|
getPos() | 返回节点的绝对 x, y 位置。位置将以包含 x、y 字段的对象形式返回。 |
|
getPrev() | 返回匹配选择器或函数的上一个节点。 |
|
getRect() | 返回特定元素的矩形。 |
|
getRoot() | 返回文档的根节点。通常是 body,但也可能是 DIV。像 getParent 这样的父节点查询不会超过此根节点。 |
|
getSize() | 返回指定元素的尺寸维度。 |
|
getStyle() | 返回元素的当前样式或运行时/计算值。 |
|
getViewPort() | 返回窗口的视口。 |
|
hasClass() | 如果指定元素具有指定的类名,则返回 true。 |
|
hide() | 通过设置 “display” 样式来隐藏指定的 ID 元素。 |
|
insertAfter() | 在一个元素之后插入元素。 |
|
is() | 如果指定的元素与指定的 CSS 模式匹配,则返回 true/false。 |
|
isBlock() | 如果指定的元素是块元素或不是块元素,则返回 true/false。 |
|
isEditable() | 检查指定的节点在其父级的给定上下文中是否可编辑。 |
|
isEmpty() | 如果指定的节点被视为空或不为空,则返回 true/false。 |
|
isHidden() | 通过检查 “display” 样式来返回元素是否隐藏或不隐藏的 true/false。 |
|
loadCSS() | 将指定的 CSS 文件导入/加载到绑定到该类的文档中。 |
|
nodeIndex() | 返回指定节点在其父节点中的索引。 |
|
parseStyle() | 将指定的样式值解析为对象集合。此解析器还将合并并删除浏览器可能添加的任何多余项。它还会将非十六进制颜色转换为十六进制值。样式中的 URL 也将根据设置转换为绝对/相对路径。 |
|
remove() | 从 DOM 中移除/删除指定的元素。 |
|
removeAllAttribs() | 从一个或多个元素中移除所有属性。 |
|
removeClass() | 从指定的一个或多个元素中移除一个类。 |
|
rename() | 重命名指定的元素并保留其属性和子节点。 |
|
replace() | 用指定的新元素替换指定的元素。如果传入多个输入元素,则将克隆新元素。 |
|
run() | 通过 ID、DOM 元素节点或元素/ID 数组执行指定的函数。 |
|
select() | 返回由给定的 CSS 选择器指定的元素列表。例如: |
|
serializeStyle() | 将指定的样式对象序列化为字符串。 |
|
setAttrib() | 设置一个或多个元素的指定属性。 |
|
setAttribs() | 设置一个或多个元素的两个或更多指定属性。 |
|
setHTML() | 在一个或多个元素内设置指定的 HTML 内容。HTML 将首先被处理。这意味着 URL 将被转换、十六进制颜色值将被修正等。详细信息请查看 processHTML。 |
|
setOuterHTML() | 在一个或多个元素上设置指定的外部 HTML。 |
|
setStyle() | 在 HTML 元素上设置 CSS 样式值。名称可以是驼峰式字符串或 CSS 样式名称,如 background-color。 |
|
setStyles() | 在指定的元素上设置多个样式。 |
|
show() | 通过设置 “display” 样式来显示指定的 ID 元素。 |
|
split() | 将一个元素拆分为两个新元素,并将指定的拆分元素或元素放置在新元素之间。例如,在此示例中在加粗元素处拆分段落 |
|
toggleClass() | 切换指定的类的开/关状态。 |
|
unbind() | 通过名称和函数从一个或多个元素的集合中移除指定的事件处理程序。 |
|
uniqueId() | 返回一个唯一的 ID。这在动态生成元素时很有用。此方法不会检查元素是否已存在。 |
|
方法
add()
add(parentElm: String | Element | Array, name: String | Element, attrs: Object, html: String, create: Boolean): Element | Array
将指定的元素添加到另一个元素或多个元素。
示例
// 在当前活动的编辑器末尾添加一个新段落
tinymce.activeEditor.dom.add(tinymce.activeEditor.getBody(), 'p', { title: 'my title' }, 'Some content');参数
parentElm (String | Element | Array)- 要添加到的元素 ID 字符串、DOM 节点元素或 ID 或元素的数组。name (String | Element)- 要添加的新元素的名称,或要添加的现有元素。attrs (Object)- 可选的对象集合,包含要添加到新元素的参数。html (String)- 可选的内部 HTML 内容,要添加到每个元素中。create (Boolean)- 可选的标志,用于指示应该创建元素还是添加元素。
返回值
Element- 已创建的元素,如果传入了多个输入元素,则返回已创建元素的数组。Array- 已创建的元素,如果传入了多个输入元素,则返回已创建元素的数组。
addClass()
addClass(elm: String | Element | Array, cls: String): String | Array
为指定的元素添加类。
示例
// 为活动编辑器中的所有段落添加一个类
tinymce.activeEditor.dom.addClass(tinymce.activeEditor.dom.select('p'), 'myclass');
// 为当前页面中的特定元素添加一个类
tinymce.DOM.addClass('mydiv', 'myclass');参数
elm (String | Element | Array)- 元素 ID 字符串、DOM 元素或包含元素或 ID 的数组。cls (String)- 要添加到每个元素中的类名。
返回值
String- 带有新类值的字符串,或包含所有元素新类值的数组。Array- 带有新类值的字符串,或包含所有元素新类值的数组。
addStyle()
addStyle(cssText: String)
在文档顶部添加一个包含指定 cssText 内容的元素。
参数
cssText (String)- 要添加到文档头部的 CSS 文本样式。
bind()
bind(target: Element | Document | Window | Array, name: String, func: Function, scope: Object): Function
为指定对象添加事件处理程序。
参数
target (Element | Document | Window | Array)- 要绑定事件的目标元素,或包含元素/ID/文档的数组。name (String)- 要添加的事件处理程序名称,例如:click。func (Function)- 事件发生时要执行的函数。scope (Object)- 可选的作用域,用于执行函数。
返回值
Function- 与传入的函数相同的回调处理函数。
create()
create(name: String, attrs: Object, html: String): Element
创建一个新元素。
示例
// 在活动编辑器的光标/选择位置添加一个元素
var el = tinymce.activeEditor.dom.create('div', { id: 'test', 'class': 'myclass' }, 'some content');
tinymce.activeEditor.selection.setNode(el);参数
name (String)- 新元素的名称。attrs (Object)- 可选的包含元素属性的对象名称/值集合。html (String)- 可选的 HTML 字符串,用作元素的内部 HTML。
返回值
Element- 已创建的 HTML DOM 节点元素。
createFragment()
createFragment(html: String): DocumentFragment
根据指定的 HTML 字符串创建一个文档片段。
参数
html (String)- 用于创建片段的 HTML 字符串。
返回值
DocumentFragment- 文档片段节点。
createHTML()
createHTML(name: String, attrs: Object, html: String): String
创建元素的 HTML 字符串。除非传入了空的内部 HTML 字符串,否则元素将被闭合。
示例
// 创建一个 HTML 块并将其插入到当前选择/光标位置
tinymce.activeEditor.insertContent(tinymce.activeEditor.dom.createHTML('a', { href: 'test.html' }, 'some line'));参数
name (String)- 新元素的名称。attrs (Object)- 可选的包含元素属性的对象名称/值集合。html (String)- 可选的 HTML 字符串,用作元素的内部 HTML。
返回值
String- 包含新 HTML 元素的字符串,例如:test。
createRng()
createRng(): DOMRange
创建一个新的 DOM Range 对象。如果可用,将使用原生 DOM Range API。如果不可用,将回退到 TinyMCE 的自定义实现。
示例
const rng = tinymce.DOM.createRng(); alert(rng.startContainer + "," + rng.startOffset);
返回值
DOMRange- DOM Range 对象。
decode()
decode(s: String): String
对字符串进行实体解码。此方法会解码任何 HTML 实体,例如 å。
参数
s (String)- 要解码实体的字符串。
返回值
String- 实体解码后的字符串。
destroy()
destroy()
销毁所有对 DOM 的内部引用,以解决内存泄漏问题。
dispatch()
dispatch(target: Node | Document | Window, name: String, evt: Object): Event
在指定的目标上派发指定的事件名称和可选的对象。
参数
target (Node | Document | Window)- 要在其上派发事件的目标元素或对象。name (String)- 要触发的事件名称。evt (Object)- 要发送的事件对象。
返回值
Event- 事件对象。
encode()
encode(text: String): String
对字符串进行实体编码。此方法对最常见的实体进行编码,例如 <、>、" 和 &。
参数
text (String)- 要使用实体进行编码的字符串。
返回值
String- 实体编码后的字符串。
findCommonAncestor()
findCommonAncestor(a: Element, b: Element): Element
查找两个元素的共同祖先。这是一种比使用 DOM Range 逻辑更简洁的方法。
参数
a (Element)- 要查找共同祖先的元素。b (Element)- 要查找共同祖先的元素。
返回值
Element- 两个输入元素的共同祖先元素。
fire()
fire(target: Node | Document | Window, name: String, evt: Object): Event
在指定的目标上触发指定的事件名称和可选的对象。
在 TinyMCE 6.0 中已弃用,并已标记为将在 TinyMCE 7.0 中移除。请改用 dispatch。
参数
target (Node | Document | Window)- 要在其上触发事件的目标元素或对象。name (String)- 要触发的事件名称。evt (Object)- 要发送的事件对象。
返回值
Event- 事件对象。
get()
get(n: String | Element): Element
通过 ID 返回指定的元素,如果输入不是字符串,则返回该元素本身。
参数
n (String | Element)- 要查找的元素 ID 或要直接传递的元素。
返回值
Element- 与指定 ID 匹配的元素,如果未找到则为 null。
getAttrib()
getAttrib(elm: String | Element, name: String, defaultVal: String): String
通过名称返回指定的属性。
参数
elm (String | Element)- 要从中获取属性的元素字符串 ID 或 DOM 元素。name (String)- 要获取的属性名称。defaultVal (String)- 如果属性不存在,要返回的可选默认值。
返回值
String- 属性值字符串、默认值或 null(如果未找到该属性)。
getAttribs()
getAttribs(elm: HTMLElement | string): NodeList
返回包含元素属性的 NodeList。
参数
elm (HTMLElement | string)- 要从中获取属性的元素节点或字符串 ID。
返回值
NodeList- 包含属性的 NodeList。
getNext()
getNext(node: Node, selector: String | function): Node
返回匹配选择器或函数的下一个节点
参数
node (Node)- 要从中查找同级节点的节点。selector (String | function)- 选择器 CSS 表达式或函数。
返回值
Node- 匹配选择器的下一个节点项,如果未找到则为 null。
getOuterHTML()
getOuterHTML(elm: String | Element): String
返回元素的外部 HTML。
示例
tinymce.DOM.getOuterHTML(editorElement); tinymce.activeEditor.getOuterHTML(tinymce.activeEditor.getBody());
参数
elm (String | Element)- 要获取外部 HTML 的元素 ID 或元素对象。
返回值
String- 外部 HTML 字符串。
getParent()
getParent(node: Node | String, selector: Function, root: Node): Node
通过指定的选择器函数返回一个节点。此函数将遍历所有父节点,并对每个节点调用指定的函数。如果函数返回 true,表示它已找到所查找的内容,则循环执行将结束,并将找到的节点返回。
参数
node (Node | String)- 要搜索父节点的 DOM 节点或 ID 字符串。selector (Function)- 要在每个节点上执行的选择函数或 CSS 选择器。root (Node)- 可选的根元素,切勿越过此点。
返回值
Node- DOM 节点,如果未找到则为 null。
getParents()
getParents(node: Node | String, selector: Function, root: Node): Array
返回所有符合指定选择器函数或模式的父节点列表。如果函数返回 true,则表示找到了要找的节点,并将该节点收集起来。
参数
node (Node | String)- 要搜索父节点的 DOM 节点或 ID 字符串。selector (Function)- 在每个节点上执行的选择函数或 CSS 模式。root (Node)- 可选的根节点,搜索不会超过此范围。
返回值
Array- 节点数组,如果未找到则为 null。
getPos()
getPos(elm: Element | String, rootElm: Element): Object
返回节点的绝对 x、y 位置。位置将以包含 x、y 字段的对象返回。
参数
elm (Element | String)- 要获取 x、y 位置的 HTML 元素或元素 ID。rootElm (Element)- 可选的根元素,用于限制计算范围。
返回值
Object- 指定元素的绝对位置对象,包含 x、y 字段。
getPrev()
getPrev(node: Node, selector: String | function): Node
返回符合选择器或函数的上一个节点
参数
node (Node)- 要查找兄弟节点的节点。selector (String | function)- CSS 选择器表达式或函数。
返回值
Node- 符合选择器的上一个节点,如果未找到则为 null。
getRect()
getRect(elm: Element | String): Object
返回特定元素的矩形。
参数
elm (Element | String)- 要获取矩形的元素对象或元素 ID。
返回值
Object- 指定元素的矩形对象,包含 x、y、w、h 字段。
getRoot()
getRoot(): Element
返回文档的根节点。通常是 body,但也可能是一个 DIV。像 getParent 这样的父节点方法不会超过此根节点。
返回值
Element- 工具类的根元素。
getSize()
getSize(elm: Element | String): Object
返回指定元素的大小尺寸。
参数
elm (Element | String)- 要获取矩形的元素对象或元素 ID。
返回值
Object- 指定元素的矩形对象,包含 w、h 字段。
getStyle()
getStyle(elm: String | Element, name: String, computed: Boolean): String
返回元素的当前样式或运行时/计算值。
参数
elm (String | Element)- 要获取样式的 HTML 元素或元素 ID 字符串。name (String)- 要返回的样式名称。computed (Boolean)- 是否计算样式。
返回值
String- 元素的当前样式或计算样式值。
getViewPort()
getViewPort(win: Window): Object
返回窗口的视口。
参数
win (Window)- 可选的窗口对象,用于获取其视口。
返回值
Object- 视口对象,包含 x、y、w、h 字段。
hasClass()
hasClass(elm: String | Element, cls: String): Boolean
如果指定元素具有指定的类,则返回 true。
参数
elm (String | Element)- 要检查 CSS 类的 HTML 元素或元素 ID 字符串。cls (String)- 要检查的 CSS 类名。
返回值
Boolean- 如果指定元素具有指定类则为 true/false。
hide()
hide(elm: String | Element | Array)
通过设置 "display" 样式来隐藏指定的元素。
示例
// 按 ID 隐藏文档中的元素
tinymce.DOM.hide('myid');参数
elm (String | Element | Array)- 要隐藏的 DOM 元素 ID、DOM 元素或包含元素/ID 的数组。
insertAfter()
insertAfter(node: Element, referenceNode: Element | String | Array): Element | Array
在参考元素之后插入一个元素。
参数
node (Element)- 要在参考元素之后插入的元素。referenceNode (Element | String | Array)- 参考元素、元素 ID 或要插入到的元素数组。
返回值
Element- 添加的元素或元素数组。Array- 添加的元素或元素数组。
is()
is(elm: Node | NodeList, selector: String)
如果指定的元素与指定的 CSS 模式匹配,则返回 true/false。
参数
elm (Node | NodeList)- 要匹配的 DOM 节点或要匹配的节点数组。selector (String)- 用于匹配元素的 CSS 模式。
isBlock()
isBlock(node: Node | String): Boolean
如果指定的元素是块级元素或不是块级元素,则返回 true/false。
参数
node (Node | String)- 要检查的元素/节点。
返回值
Boolean- 表示节点是否为块级元素或不是块级元素的 true/false 状态。
isEditable()
isEditable(node: Node): Boolean
检查指定的节点在其父元素的上下文中是否可编辑。
参数
node (Node)- 要检查是否可编辑的节点。
返回值
Boolean- 如果节点可编辑则为 true,如果不可编辑则为 false。
isEmpty()
isEmpty(node: Node, elements: Object): Boolean
如果指定的节点被视为空或不是空的,则返回 true/false。
示例
tinymce.DOM.isEmpty(node, { img: true });参数
node (Node)- 要检查是否为空的目标节点。elements (Object)- 可选的名称/值对象,其中的元素将自动被视为非空元素。
返回值
Boolean- 表示节点是否为空或不是空的 true/false。
isHidden()
isHidden(elm: String | Element): Boolean
通过检查“display”样式,返回元素是否被隐藏的 true/false。
参数
elm (String | Element)- 要检查显示状态的元素 ID 或元素。
返回值
Boolean- 表示元素是否被隐藏的 true/false。
loadCSS()
loadCSS(url: String)
将指定的 CSS 文件导入/加载到绑定到该类中的文档中。
示例
// 动态地将一个 CSS 文件加载到当前文档中
tinymce.DOM.loadCSS('somepath/some.css');
// 将一个 CSS 文件加载到当前活动的编辑器实例中
tinymce.activeEditor.dom.loadCSS('somepath/some.css');
// 通过 ID 将一个 CSS 文件加载到一个编辑器实例中
tinymce.get('someid').dom.loadCSS('somepath/some.css');
// 将多个 CSS 文件加载到当前文档中
tinymce.DOM.loadCSS('somepath/some.css,somepath/someother.css');参数
url (String)- 要加载的 CSS 文件的 URL。
nodeIndex()
nodeIndex(node: Node, normalized: Boolean): Number
返回指定节点在其父节点中的索引。
参数
node (Node)- 要查找的节点。normalized (Boolean)- 可选参数,表示索引是否是规范化后的索引的 true/false 状态。
返回值
Number- 指定节点的索引。
parseStyle()
parseStyle(cssText: String): Object
将指定的样式值解析为对象集合。此解析器还将合并并移除浏览器可能添加的任何多余项。它还将非十六进制颜色转换为十六进制值。样式中的 URL 也将根据设置转换为绝对/相对路径。
参数
cssText (String)- 要解析的样式值,例如:border:1px solid red;。
返回值
Object- 该样式的对象表示,例如:{border: '1px solid red'}
remove()
remove(node: String | Element | Array, keepChildren: Boolean): Element | Array
从 DOM 中移除/删除指定的元素。
示例
// 移除当前活动编辑器中的所有段落
tinymce.activeEditor.dom.remove(tinymce.activeEditor.dom.select('p'));
// 通过 ID 移除文档中的元素
tinymce.DOM.remove('mydiv');参数
node (String | Element | Array)- 元素的 ID 或 DOM 元素对象,或包含多个元素/ID 的数组。keepChildren (Boolean)- 可选参数,表示是否保留子节点的状态。如果设置为 true,则所有子节点将放置在被移除元素的位置。
返回值
Element- 被移除的 HTML DOM 元素,如果传入了多个输入元素,则为被移除元素的数组。Array- 被移除的 HTML DOM 元素,如果传入了多个输入元素,则为被移除元素的数组。
removeAllAttribs()
removeAllAttribs(e: Element | String | Array)
从一个元素或多个元素中移除所有属性。
参数
e (Element | String | Array)- 要从其中移除属性的 DOM 元素、元素 ID 字符串或元素/ID 数组。
removeClass()
removeClass(elm: String | Element | Array, cls: String): String | Array
从指定元素中移除一个 class。
示例
// 从活动编辑器的所有段落中移除一个 class
tinymce.activeEditor.dom.removeClass(tinymce.activeEditor.dom.select('p'), 'myclass');
// 从当前页面的特定元素中移除一个 class
tinymce.DOM.removeClass('mydiv', 'myclass');参数
elm (String | Element | Array)- 元素 ID 字符串、DOM 元素或包含元素或 ID 的数组。cls (String)- 要从每个元素中移除的类名。
返回值
String- 剩余的类名字符串,如果传入了多个输入元素,则返回字符串数组。Array- 剩余的类名字符串,如果传入了多个输入元素,则返回字符串数组。
rename()
rename(elm: Element, name: String): Element
重命名指定元素并保留其属性和子元素。
参数
elm (Element)- 要重命名的元素。name (String)- 新元素的名称。
返回值
Element- 新元素或需要重命名的旧元素。
replace()
replace(newElm: Element, oldElm: Element | String | Array, keepChildren: Boolean)
用指定的新元素替换指定的一个或多个元素。如果传入了多个输入元素,新元素将被克隆。
参数
newElm (Element)- 用于替换旧元素的新元素。oldElm (Element | String | Array)- 要替换的元素 DOM 节点、元素 ID 或元素或 ID 的数组。keepChildren (Boolean)- 可选的保留子元素状态,如果设置为 true,则旧对象的子节点将添加到新对象中。
run()
run(elm: String | Element | Array, func: Function, scope: Object): Object | Array
通过 ID、DOM 元素节点或元素/ID 数组在元素上执行指定的函数。
参数
elm (String | Element | Array)- ID、DOM 元素对象或包含 ID 或元素的数组。func (Function)- 要对每个项执行的函数。scope (Object)- 可选的执行函数的作用域。
返回值
Object- 单个对象,如果传入了多个输入元素,则返回对象数组。Array- 单个对象,如果传入了多个输入元素,则返回对象数组。
select()
select(selector: String, scope: Object): Array
返回由给定 CSS 选择器指定的元素列表。例如:div#a1 p.test
示例
// 为当前活动编辑器中的所有段落添加一个 class
tinymce.activeEditor.dom.addClass(tinymce.activeEditor.dom.select('p'), 'someclass');
// 为当前活动编辑器中所有具有 test 类的 span 元素添加一个 class
tinymce.activeEditor.dom.addClass(tinymce.activeEditor.dom.select('span.test'), 'someclass')参数
selector (String)- 目标 CSS 选择器。scope (Object)- 可选的搜索根元素/作用域元素。
返回值
Array- 包含所有匹配元素的数组。
serializeStyle()
serializeStyle(styles: Object, name: String): String
将指定的样式对象序列化为字符串。
参数
styles (Object)- 要序列化为字符串的对象,例如:{border: '1px solid red'}name (String)- 可选的元素名称。
返回值
String- 样式对象的字符串表示,例如:border: 1px solid red。
setAttrib()
setAttrib(elm: Element | String | Array, name: String, value: String)
设置一个或多个元素的指定属性。
示例
// 设置活动编辑器中所有段落的 class 属性
tinymce.activeEditor.dom.setAttrib(tinymce.activeEditor.dom.select('p'), 'class', 'myclass');
// 设置当前页面特定元素的 class 属性
tinymce.dom.setAttrib('mydiv', 'class', 'myclass');参数
elm (Element | String | Array)- 要设置属性的 DOM 元素、元素 ID 字符串或元素/ID 的数组。name (String)- 要设置的属性名称。value (String)- 要设置的属性值 - 如果该值为 null、0 或 '' 等假值,则会移除该属性。
setAttribs()
setAttribs(elm: Element | String | Array, attrs: Object)
设置一个或多个元素的两个或多个指定属性。
示例
// 为活动编辑器中所有段落设置 class 和 title 属性
tinymce.activeEditor.dom.setAttribs(tinymce.activeEditor.dom.select('p'), { 'class': 'myclass', title: 'some title' });
// 为当前页面中特定元素设置 class 和 title 属性
tinymce.DOM.setAttribs('mydiv', { 'class': 'myclass', title: 'some title' });参数
elm (Element | String | Array)- 要设置属性的 DOM 元素、元素 id 字符串或元素/id 数组。attrs (Object)- 要添加到元素的名称/值属性集合。
setHTML()
setHTML(elm: Element | String | Array, html: String)
在元素或元素内设置指定的 HTML 内容。HTML 内容会首先被处理。这意味着 URL 会被转换,十六进制颜色值会被修复等。有关详细信息,请检查 processHTML。
示例
// 设置活动编辑器中所有段落的内部 HTML
tinymce.activeEditor.dom.setHTML(tinymce.activeEditor.dom.select('p'), 'some inner html');
// 通过 id 设置文档中元素的内在 HTML
tinymce.DOM.setHTML('mydiv', 'some inner html');参数
elm (Element | String | Array)- 要在其内部设置 HTML 的 DOM 元素、元素 id 字符串或元素/id 数组。html (String)- 要设置为元素内在 HTML 的 HTML 内容。
setOuterHTML()
setOuterHTML(elm: Element | String | Array, html: Object)
在元素或元素上设置指定的外部 HTML。
示例
// 设置活动编辑器中所有段落的外部 HTML
tinymce.activeEditor.dom.setOuterHTML(tinymce.activeEditor.dom.select('p'), '<div>some html</div>');
// 通过 id 设置文档中元素的外部 HTML
tinymce.DOM.setOuterHTML('mydiv', '<div>some html</div>');参数
elm (Element | String | Array)- 要设置外部 HTML 的 DOM 元素、元素 id 字符串或元素/id 数组。html (Object)- 要设置为元素外部值的 HTML 代码。
setStyle()
setStyle(elm: String | Element | Array, name: String, value: String)
在 HTML 元素上设置 CSS 样式值。名称可以是驼峰式字符串,也可以是 CSS 样式名称,如 background-color。
示例
// 在当前活动编辑器中的所有段落上设置样式值
tinymce.activeEditor.dom.setStyle(tinymce.activeEditor.dom.select('p'), 'background-color', 'red');
// 在当前文档中通过 id 为元素设置样式值
tinymce.DOM.setStyle('mydiv', 'background-color', 'red');参数
elm (String | Element | Array)- 要设置 CSS 样式值的 HTML 元素/元素数组。name (String)- 要设置的样式值的名称。value (String)- 要在样式上设置的值。
setStyles()
setStyles(elm: Element | String | Array, styles: Object)
在指定的元素上设置多个样式。
示例
// 在当前活动编辑器中的所有段落上设置样式
tinymce.activeEditor.dom.setStyles(tinymce.activeEditor.dom.select('p'), { 'background-color': 'red', 'color': 'green' });
// 在当前文档中通过 id 为元素设置样式
tinymce.DOM.setStyles('mydiv', { 'background-color': 'red', 'color': 'green' });参数
elm (Element | String | Array)- 要设置样式的 DOM 元素、元素 id 字符串或元素/id 数组。styles (Object)- 要添加到元素中的样式项的名称/值集合。
show()
show(elm: String | Element | Array)
通过设置“display”样式显示指定的元素。
参数
elm (String | Element | Array)- 要显示的 DOM 元素 ID、DOM 元素或包含元素或 ID 的数组。
split()
split(parentElm: Element, splitElm: Element, replacementElm: Element): Element
将一个元素拆分为两个新元素,并将指定的拆分元素或元素放置在新元素之间。例如,在这个示例中 <p>abc<b>abc</b>123</p> 中,在加粗元素处拆分段落会产生 <p>abc</p><b>abc</b><p>123</p>。
参数
parentElm (Element)- 要拆分的父元素。splitElm (Element)- 要拆分的元素。replacementElm (Element)- 可选的替换元素,用于替换拆分的元素。
返回值
Element- 返回拆分元素或指定的替换元素。
toggleClass()
toggleClass(elm: Element, cls: String, state: Boolean)
切换指定的类开/关。
参数
elm (Element)- 要切换类的元素。cls (String)- 要切换开/关的类。state (Boolean)- 可选的要设置的状态。
unbind()
unbind(target: Element | Document | Window | Array, name: String, func: Function): Boolean | Array
根据名称和函数从元素或元素集合中移除指定的事件处理程序。
参数
target (Element | Document | Window | Array)- 要取消绑定事件的目标元素。name (String)- 事件处理程序名称,例如:"click"func (Function)- 要移除的函数。
返回值
Boolean- 如果处理程序被移除则为 true 布尔状态,如果传入多个输入元素则为状态数组。Array- 如果处理程序被移除则为 true 布尔状态,如果传入多个输入元素则为状态数组。
uniqueId()
uniqueId(prefix: String): String
返回一个唯一的 id。在动态生成元素时这会很有用。此方法不会检查元素是否已经存在。
参数
prefix (String)- 可选前缀,添加到所有 id 前面 - 默认值为 "mce_"。
返回值
String- 唯一的 id。