试图使TinyMCE dom.replace在WordPress中工作

时间:2018-06-24 09:47:18

标签: javascript jquery tinymce-4

这是我想做的事的一个例子:

var dom = tinymce.get( 'content' ).dom;

var newel = $( '<p/>' ).html( 'some html with text' );
var oldel = dom.get( dom.select( 'oldelID' ) );

dom.replace( newel.get(0), oldel );
                   ^^^^^

我收到以下错误消息:未捕获的TypeError:无法在'Node'上执行'replaceChild':参数1的类型不是'Node'。

但是,newel和oldel都是Node类型的对象。

我是否需要将新的el对象插入DOM才能工作?

1 个答案:

答案 0 :(得分:1)

作为jQuery对象的参数1,要在replaceChild函数中使用,需要将其转换为javascript对象。

可以使用jQuery中的get function来实现。

var dom = tinymce.get( 'content' ).dom;

var newel = $( '<p/>' ).html( 'some html with text' );
var oldel = dom.get( dom.select( 'oldelID' ) );

dom.replace( newel.get(0), oldel );