我想要一个按钮来包装所有标签的内容。
我的代码:
editor.addButton('MobileToggleArea', {
text: '<M>',
icon: false,
onclick: function (){
editor.selection.setContent('<div class="mobile-hide">' + editor.selection.getContent({format: 'raw'}) + '</div><div class="mobil-mehr">mehr</div>');
}
});
示例:
<p>test</p>
<p>test</p>
结果:
<p> </p>
<div class="mobile-hide">
<p>test</p>
<p>test</p>
<div class="mobil-mehr">mehr</div>
<p> </p>
问题:
它正在添加额外的p
标记,为什么?怎么预防?
其他问题(但并非如此糟糕)是仅选择一个p
标记:
<div class="mobile-hide">test</div>
<div class="mobil-mehr">mehr</div>
p
标签消失了。
插件:char字数自动保存charmap代码全屏图像importcss链接列表粘贴searchreplace tabfocus表模板visualblocks锚点hr不破坏textcolor colorpicker
感谢您提供帮助。
答案 0 :(得分:0)
我用Jquery解决了这两个问题:
editor.addButton('MobileToggleArea', {
text: '<M>',
icon: false,
onclick: function (){
editor.selection.setContent('<div class="mobile-hide">' + editor.selection.getContent({format: 'raw'}) + '</div><div class="mobil-mehr">mehr</div>');
jQuery(editor.getBody()).find('.mobile-hide').prev().remove('p');
jQuery(editor.getBody()).find('.mobile-hide').next().next().remove('p');
jQuery(editor.getBody()).find('.mobile-hide').each(function(){
if(!jQuery(this).find('*').length){
jQuery(this).wrapInner('<p></p>');
}
});
}
});
打开以获得更好的解决方案=)