Попытка заставить TinyMCE dom.replace работать в WordPress - PullRequest
0 голосов
/ 24 июня 2018

Вот пример того, что я хочу сделать:

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 );
                   ^^^^^

Я получаю следующее сообщение об ошибке: Uncaught TypeError: Не удалось выполнить replaceChild на узле: параметр 1 не относится к типу Node.

Но newel и oldel являются объектами типа Node.

Вам нужно вставить новый объект el в DOM для работы?

1 Ответ

0 голосов
/ 24 июня 2018

Параметр 1, который является объектом jQuery, для использования в функции replaceChild необходимо преобразовать его в объект javascript.

Это может быть достигнуто с помощью get function из jQuery.

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 );
...