如何使用jQuery直接操作CKEditor内容?

我想使用jQuery直接操作CKEditor实例中的内容。 例如,假设我想添加一个按钮,该按钮将在编辑器内容中找到所有h1,并在标题文本前面加上“Title:”。 这在使用jQuery的普通页面内容中很容易:类似于$('h1').prepend('Title: ')应该这样做。

但是,我在CKEditor文档中找不到有关如何对内容执行此类操作的任何信息,即使是在插件中也是如此。 我发现的最接近的答案是一个类似的问题,声称它可以在一个插件中实现,但它实际上并没有回答如何去做的问题。

您可以在jQuery $()函数中指定要使用的文档 。 document是编辑器实例的属性。 然后你必须确保在加载CKEditor iframe的DOM之后完成它:

 CKEDITOR.replace( 'editor', { on: { instanceReady: function() { var doc = this.document.$; $('p', doc ).prepend( '(!) ' ); } } } ); 

看到jsFiddle 。