将类添加到CKEditor中的特定父元素
我正在尝试构建一个小插件,将类添加到CKEditor中的特定标记中。下面是它应该做的:如果用户正在创建一个列表,无论他在该列表中的什么位置,如果他单击按钮,它将向ul父级添加一个类 我设法发现了那个标签。但是,我找不到如何添加一个类,主要是如何在之后应用这些更改。以下是我现在拥有的:将类添加到CKEditor中的特定父元素,ckeditor,Ckeditor,我正在尝试构建一个小插件,将类添加到CKEditor中的特定标记中。下面是它应该做的:如果用户正在创建一个列表,无论他在该列表中的什么位置,如果他单击按钮,它将向ul父级添加一个类 我设法发现了那个标签。但是,我找不到如何添加一个类,主要是如何在之后应用这些更改。以下是我现在拥有的: editor = CKEDITOR.replace('editor'); editor.addCommand("testCommand", { exec: function(e) { pa
editor = CKEDITOR.replace('editor');
editor.addCommand("testCommand", {
exec: function(e) {
parents = e.elementPath();
parents = parents.elements;
for (i = 0; i < parents.length; i++) {
console.log('Check');
if(parents[i].getName() == 'ul') {
console.log('List !');
return true;
}
}
}
});
editor.ui.addButton('testButton', {
label: "Test button",
command: 'testCommand',
toolbar: 'insert',
icon: 'Link'
});
你能帮忙吗?这里有一个问题
检查另外,将类名添加到允许的“ul”类名中,如下所示:config.extralallowedcontent='ulmyclass'@Wizard是的,这就是我要检查的。但是,我能找到的所有例子都与新元素的创建有关。在这里,我想在console.log'List!'之后修改一个现有的oneAfter;添加父类[i].addClass'myclass';哦,好吧,不清楚我能不能直接应用到我的元素上。谢谢:
CKEDITOR.addCss('ul.myclass { font-weight: bold; }'); // <-- CSS class declaration
const editor = CKEDITOR.replace('editor', {
toolbar: [
{ name: 'paragraph', items: [ 'Source', 'BulletedList', 'testButton' ] }
],
extraAllowedContent: 'ul(myclass)' // <-- needed for Advanced Content Filtering (ACF)
});
editor.addCommand("testCommand", {
exec: function(e) {
let parents = e.elementPath();
parents = parents.elements;
for (let i = 0; i < parents.length; i++) {
console.log('Check');
if (parents[i].getName() == 'ul') {
console.log('Liste !');
parents[i].addClass('myclass'); // <-- adds the CSS class
break;
}
}
}
});
editor.ui.addButton('testButton', {
label: "Test button",
command: 'testCommand',
toolbar: 'insert',
icon: 'Link'
});