Я создаю плагин для TinyMCE, и мне нужно обернуть существующий элемент (узел) новым.
Например, если у меня есть параграф:
<p>hello</p>
после команды мне нужно:
<div id="someid"><p>hello</p></div>
Я попробовал ниже, но он не переносит абзацы, только их тело, например:
tinyMCEPopup.editor.execCommand('mceReplaceContent',true,'<div id="someid">{$selection}</div>')
создает
<p><div id="someid">hello</div></p>
Какой самый простой способ сделать это?
Обновление:
Наконец, я решил использовать конструкцию ниже (без jQuery):
// Get instance of the editor
var ed = tinyMCEPopup.editor;
// we are collecting <p> or other default tag to cover it
var node = tinyMCEPopup.editor.selection.getNode();
// create new dom objects
var newNode = ed.dom.create('div', {'class' : 'accordionContent'});
var newHNode = ed.dom.create('h2', {'class' : 'accordionTitle'},document.forms[0].title.value);
// dom modifications
ed.dom.add(node.parentNode, newHNode);
ed.dom.add(node.parentNode, newNode);
newNode.appendChild(node);