CKEditor:编辑器主体的类或ID

Pek*_*ica 12 javascript css wysiwyg ckeditor

我在页面上有一个CKEditor实例.我试图给CKEditor的主体一个类或ID,以便它匹配我在样式表中定义的一些样式.

有一个API文档可以访问相应的DOM元素,但我似乎无法让它工作.我试图以这种方式查询的所有对象都是未定义的.

有人知道如何做到这一点,或者如何正确地解决CKEditor的dom元素?

编辑:谢谢大家,nemisj的答案为我做了,但出于某种原因,我没有在这个问题中设置"接受"的复选标记.

Alf*_*oML 13

尽管在放置此问题时API的那部分未从2.x移植,但现在使用bodyIdbodyClass配置选项更容易.

当然,nemisj的解释很好,可以用于其他事情,但你必须记住,每次你从设计(到源视图)切换,iframe都被破坏,所以你需要重新分配你的属性如果你手动完成


nem*_*isj 11

如果您正在谈论CKEditor(版本3),那么有可能在编辑器本身中获取任何DOM实例.每个CKEditor实例都通过"document"属性引用它的文档.

var documentWrapper = edit.document; 
Run Code Online (Sandbox Code Playgroud)

此引用表示所有CKEditor节点的一些公共包装器,但它也直接引用其节点.您可以通过获取["$"]属性来检索.

var documentNode = documentWrapper.$; // or documentWrapper['$'] ;
Run Code Online (Sandbox Code Playgroud)

documentNode将表示iframe内文档节点的DOM实例.拥有DOM实例后,您可以执行任何想要对DOM结构执行的操作,追加,删除,替换类,重建等.例如

documentNode.body.className = "zork";
Run Code Online (Sandbox Code Playgroud)

我希望这应该足够了.