CKEditor 4:通过append将元素与另一个标签包装在一起对instanceReady不起作用

时间:2019-07-18 06:23:38

标签: ckeditor4.x

我想在保存后用包装元素(在这种情况下为div容器)包装元素(在这种情况下为锚)。 示例:<a....></a> should be wrapped with <div><a....></a></div>

我已阅读CKEditor的文档,并且 append appendTo 似乎是正确的用例。

问题可能出在我使用CKEDITOR.on('instanceReady',function(ev)

CKEDITOR.on('instanceReady', function(ev) {

  ev.editor.dataProcessor.htmlFilter.addRules({

    elements: {
      $: function(element) {
        // check for the tag name
        if (element.name == 'img') {
          if (element.parent.name == 'a') {
              //Add a wrapper div to make centering possible
              var wrap = new CKEDITOR.dom.element( 'div' ).addClass('uk-text-center');
              AND HERE STARTS THE PROBLEM - I CANNOT WRAP THE ANCHOR (element.parent)
              wrap.append(element.parent);
          }
        }
        // return element 
        return element;
      }
    }
  });
});

不幸的是,我总是收到此错误消息:TypeError:Node.appendChild的参数1不是对象。

控制台向我显示以下内容:

  • 对象{“ $”:div.uk-text-center}
  • 对象{名称:“ a”,属性:{…},子元素:(1)[…],isEmpty: false,isUnknown:false,_:{…},父级:{…},上一个:null,下一个: {…},childrenFilteredBy:12}

有人可以指出我正确的方向吗?谢谢您的帮助!

0 个答案:

没有答案