Как удалить класс из всех элементов, кроме текущего? - PullRequest
0 голосов
/ 25 ноября 2018

Я хотел бы удалить класс current из всех элементов , который содержит класс current appart из текущего .

InjQuery, согласно этому ответу , мы могли бы использовать:

$(this).addClass('current').siblings().removeClass('current');

Мне интересно, как перенести этот путь в CKEditor.В документации CKEditor я нашел способ проверить, имеет ли элемент заданный класс, но ничего для всех элементов.

Как правильно сделать это в CKEditor 4?

РЕДАКТИРОВАТЬ: Я создал JSFiddle с функцией updateMarker(), где должна быть ожидаемая логика.

1 Ответ

0 голосов
/ 25 ноября 2018

Вы можете получить объект document и вызвать find с классом current.Получив все элементы, удалите класс current и добавьте к текущему элементу класс current.

  var document1 = CKEDITOR.instances.editor1.document;
  var elements = document1.find('.current');
  elements.$.forEach(function(el) {
    el.classList.remove('current');
  });

  element.addClass('current');

Document API - найдите
Элемент API - removeClass
Элемент API - addClass
Рабочая скрипка

...