Справочная информация по одинаковым функциям в JavaScript и jQuery. Здесь же можно увидеть наглядно отличие JS и jQuery.
Эта статья вовсе не о преимуществах jQuery. Наоборот, библиотека jQuery постепенно уходит в прошлое, ставя чистый JS код на первое место.
Эта статья-подсказка, как сделать что-то в js или jQuery, зная только один из них. Из-за того, что они похожи, очень легко запутаться.
Добавить или удалить класс
JS
Класс указывается без точки.
el.classList.remove('class');
jQuery
el.addClass('.class');
В отличие от JS в jQuery можно сочетать добавления в одну строчку:
Проверить класс на существование
JS
jQuery
Применить функцию ко всем объектам
JS
blockId = document.getElementById('id'),
class = blockId.querySelector('.class'),
el = class.querySelectorAll('.class2');
el.forEach(function(el) {}
jQuery
Сравнение размера экрана
JS
jQuery
click
JS
jQuery
Или:
children
JS
jQuery
События
JS
jQuery
Выбрать только элементы начиная с какого-нибудь по счету
JS
Сначала собираем элементы, затем переводим в массив. Дальше, отсекаем часть, например, 1. И после ставим нужный нам класс.
var len = class.length;
if (len > 1) {
class = Array.from(class);
class = class.slice(1);
class.forEach(function (block) {
var classInside = block.querySelector('.class-inside');
classInside.classList.add('new-class');
});
}
jQuery
Обратить внимание на :gt() Selector.
var line = $('.line'),
divCount = line.length,
divLine = $('.line:gt(2)');
if(divCount > 2) {
line.each(function () {
divLine.addClass('new-class');
});
}
});
Нажатие на кнопку
Разница:
- Клик в js отрабатывается с помощью функции addEvent, в jQuery с помощью on
- Создание переменных в jQuery проще. В JS нужна длинная конструкция document.querySelector
JS
var clickButton = document.querySelector('.class');
clickButton.addEvent('click', function () {
alert('123');
});
}();
jQuery
var clickButton = $('.class');
$('.class2').find(clickButton).each(function () {
clickButton.on('click', function () {
alert('123');
});
});
});
Закрываем открытую область при клике за ней
data-set
Описания различий в data-set.