Javascript Ckeditor-为什么dataProcessor.htmlFilter.addRules不起作用?如何修复它?

Javascript Ckeditor-为什么dataProcessor.htmlFilter.addRules不起作用?如何修复它?,javascript,ckeditor,Javascript,Ckeditor,我想在ckeditor中创建段落时,自动将某个类添加到其中。我写了这段代码,但它不起作用 CKEDITOR.on('instanceReady', function (ev) { var editor = ev.editor; editor.dataProcessor.htmlFilter.addRules({ elements: { p: function (el) {

我想在ckeditor中创建段落时,自动将某个类添加到其中。我写了这段代码,但它不起作用

CKEDITOR.on('instanceReady', function (ev) {
        var editor = ev.editor;
        editor.dataProcessor.htmlFilter.addRules({
            elements: {
                p: function (el) {
                    el.addClass('myClass');
                }
            }
        });
});

为什么??我如何解决我的问题?

请使用下面的方法。您应该使用
dataFilter
而不是
htmlFilter
,最好的方法是同时使用这两种方法,以避免在设计/所见即所得模式下创建没有类的段落,然后切换到源代码模式或从编辑器获取数据

        var editor = CKEDITOR.replace( 'editor1', {
            language: 'en',
            extraPlugins : 'placeholder',
            on: {
                pluginsLoaded: function( evt ) {
                    evt.editor.dataProcessor.dataFilter.addRules( {
                        elements: {
                            p: function( el ) {
                                //The Html filter works when you load data into editor.
                                if(!el.hasClass('nomargins'))
                                    el.addClass('nomargins');
                            }
                        }
                    } );
                    evt.editor.dataProcessor.htmlFilter.addRules( {
                        elements: {
                            p: function( el ) {
                                //The Html filter works when you get data from editor.
                                if(!el.hasClass('nomargins'))
                                    el.addClass('nomargins');
                            }
                        }
                    } );
                }
            }
        });