Изучаю вопрос перехода от jQuery к родному Javascript. Подскажите, правильно ли я понимаю, что особенность jQuery в последовательном применении функций к одному объекту в JS пока нет, т.е.
из кода jQuery
$('#content')
.removeClass('edit-error')
.removeClass('edit-complete')
.toggleClass('edit-error', this.m_pageData.is_wrong_text)
.toggleClass('edit-complete', this.m_pageData.is_completed_text);
к коду Javascript
document.querySelector('#content').classList
.remove('edit-error')
.remove('edit-complete')
.toggle('edit-error', this.m_pageData.is_wrong_text)
.toggle('edit-complete', this.m_pageData.is_completed_text);
не перейти :(
да и toggle
как-то не так работает
Поскольку методы .classList не возвращают объект classList или объект DOM, вы не можете связать с ними цепочку.
Вы можете создать цепочки с помощью небольшого объекта с цепными методами:
function classList (el) {
const list = el.classList
return {
toggle (c) {
list.toggle(c)
return this
},
add (c) {
list.add(c)
return this
},
remove (c) {
list.remove(c)
return this
}
}
}
const el = document.querySelector('#content')
classList(el).remove('foo').add('bar').toggle('baz')
console.log(el.className)
<div id="content"></div>
Методы remove, toggle, add
не возвращают ссылку на Element.classList
поэтому их нельзя вызывать с помощью чейнинга(chaining).
jQuery это обертка над стандартными методами и после вызова он возвращает ссылку на тот же экземпляр $('#content')
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В инструкции по миграции проекта на Typescript есть пункт
У меня раздутый код - дохрена спанов, потому что текстовую анимацию делал без библиотекиЕсть ли способ обернуть уже имеющиеся спаны во что-то,...
Задача: есть произвольное количество групп, в каждой группе произвольное количество карточекНужно обеспечить возможность перетаскивания...
Использую на сайте скрипт плавающего меню и хочу что-бы в нем были кнопки с заменой картинки на нихПо отдельности hover работает, а в этом меню...