Estoy lidiando con un problema del complemento CKeditor, que desarrollé. Quiero simplemente agregar html personalizado para envolver una lista existente. Sin embargo, cuando intento hacer esto, el texto seleccionado no incluye la etiqueta principal cuando el usuario selecciona la lista. Espero que esto tenga sentido, aquí está mi archivo JS. También quiero seleccionar las etiquetas ul, actualmente solo está seleccionando las etiquetas li.
/** * @file * Checkbox plugin definition. </div>' */ CKEDITOR.plugins.add("checkbox", { init: function (editor) { "use strict"; editor.addCommand("checkbox_template", { exec: function (editor) { var selectedHtml = ""; var selection = editor.getSelection(); if (selection) { selectedHtml = getSelectionHtml(selection); } editor.insertHtml("<div class=\"checkbox-list\">" + selectedHtml + "</div>"); }, }); editor.ui.addButton("Checkbox", { label: "Checkbox (WYSIWYG)", toolbar: "insert", command: "checkbox_template", icon: this.path + "image/checkbox.jpeg", }); }, }); /** Get HTML of a selection. */ function getSelectionHtml(selection) { var ranges = selection.getRanges(); for (var i = 0; i < ranges.length; i++) { var content = ranges[i].extractContents(); html = content.getHtml(); } return html; }