如何使用jQuery直接操作CKEditor内容?
How do I use jQuery to directly manipulate CKEditor content?
我想使用jQuery直接操作CKEditor实例中的内容。例如,假设我想添加一个按钮,用于查找编辑器内容中的所有 h1,并在标题文本前加上 "Title:"。这在 jQuery 的普通页面内容中很容易:像 $('h1').prepend('Title: ')
这样的东西应该可以做到。
但是,我无法在 CKEditor 文档中找到有关如何对内容执行此类操作的任何信息,即使是在插件中也是如此。我发现最接近的是 this answer 到一个类似的问题,该问题声称可以从插件中实现,但实际上并没有回答如何做的问题。
你可以specify which document to use in jQuery $()
function. document
is a property of editor instance. Then you got to make sure it's done after CKEditor iframe's DOM is loaded:
CKEDITOR.replace( 'editor', {
on: {
instanceReady: function() {
var doc = this.document.$;
$('p', doc ).prepend( '(!) ' );
}
}
} );
参见jsFiddle。
我想使用jQuery直接操作CKEditor实例中的内容。例如,假设我想添加一个按钮,用于查找编辑器内容中的所有 h1,并在标题文本前加上 "Title:"。这在 jQuery 的普通页面内容中很容易:像 $('h1').prepend('Title: ')
这样的东西应该可以做到。
但是,我无法在 CKEditor 文档中找到有关如何对内容执行此类操作的任何信息,即使是在插件中也是如此。我发现最接近的是 this answer 到一个类似的问题,该问题声称可以从插件中实现,但实际上并没有回答如何做的问题。
你可以specify which document to use in jQuery $()
function. document
is a property of editor instance. Then you got to make sure it's done after CKEditor iframe's DOM is loaded:
CKEDITOR.replace( 'editor', {
on: {
instanceReady: function() {
var doc = this.document.$;
$('p', doc ).prepend( '(!) ' );
}
}
} );
参见jsFiddle。