添加另一种风格而不删除以前(CKEditor 4)

我一直在寻找大量的文档和示例,但我还没有找到答案。这里是我的问题,我有我的CKEditor stylesSet内将以下代码:添加另一种风格而不删除以前(CKEditor 4)

{name: 'Full Column Photo', element: 'img', attributes: { 'class': 'full- 

column' }, childRule: function(element) {

return !element.is('img');

}},

{ name: 'Disable Image Popup', element: 'img', attributes: { 'class':

'disable-popup' }, childRule: function(element) {

return !element.is('img');

} },

如果我有了样式/班“全列”,然后添加样式/类” .disable,弹出一个元素“对于同样的元素,”.full-column“被删除。我如何在元素中保留这两个类?我如何才能删除所选的样式/类,如果它之前已被选中的元素。

所有帮助非常感谢。

回答:

在JavaScript中,您可以使用classList属性将类添加到元素现有类列表。该属性公开了add函数,该函数可用于将新类名添加到列表中。

您首先需要获取对您希望操作的DOM元素的引用。

const el = document.getElementById('some-element'); 

接下来,你可以,如果你想以后删除类,你可以使用remove功能你想要的类添加到元素

el.classList.add('new-class'); 

或者。

el.classList.remove('new-class'); 


编辑:在您的评论的光,你将能够指定attributes.class财产返回你有对象的功能。喜欢的东西:

{ 

name: 'Disable Image Popup',

element: 'img',

attributes: {

'class': function() {

element.addClass('disable-popup');

return '';

}

},

childRule: function(element) {

return !element.is('img');

}

}

古怪,我不认为有将返回元素,只是伴奏或hasClass()功能上CKEDITOR.dom.element类的功能。

以上是 添加另一种风格而不删除以前(CKEditor 4) 的全部内容, 来源链接: utcz.com/qa/262103.html

回到顶部