editor.getDocument()
返回编辑器编辑区域的 Document 对象。您编辑的内容位于一个 iframe 中,因此这里返回的是该 iframe 的 document,而不是外部页面的 document。每当需要针对编辑内容本身执行 DOM 操作(查询、范围、创建节点)时,都要使用它。
语法
editor.getDocument()
参数
无。
返回值
编辑 iframe 的 Document。
行为说明
- 它是 iframe 的 document,而不是页面的。编辑器在一个隔离的 iframe 中渲染内容。在外部页面上执行
document.querySelector找不到编辑器内的节点——请改为查询editor.getDocument()。 - 用这个 document 创建节点。打算插入编辑器的元素和范围,应当用
editor.getDocument().createElement(...)/createRange()创建,这样它们才属于正确的 document。 - 与 getEditable() 配合使用,以便在需要可编辑的 body 元素而不是整个 document 时使用。
用法示例
统计编辑内容中的图片数量(范围限于编辑器,而不是整个页面):
var editor1 = new RichTextEditor("#div_editor1");
var doc = editor1.getDocument();
var imageCount = doc.querySelectorAll("img").length;插入之前,用编辑器的 document 构造节点:
var doc = editor1.getDocument();
var hr = doc.createElement("hr");
editor1.insertElement(hr);相关内容
- editor.getEditable()——这个 document 中可编辑的 body 元素。
- editor.insertElement(element)——插入用这个 document 构造的节点。
- editor.getSelection()——其中的当前选区。