← 全部文档

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);

相关内容