На SO вы найдете много людей (включая меня), которые выступают за использование jQuery (в частности). Для меня это все, что должно быть в фреймворке: маленький, легкий, расширяемый, компактный, но мощный и краткий синтаксис, и он решает некоторые довольно серьезные проблемы. Честно говоря, мне было бы трудно представить проект, в котором я бы не использовал его (или другой фреймворк).
Причиной его использования является решение проблем совместимости браузера. Рассмотрим мой ответ на JavaScript, чтобы получить абзац выделенного текста на веб-странице :
function getSelectedParagraphText() {
var userSelection;
if (window.getSelection) {
selection = window.getSelection();
} else if (document.selection) {
selection = document.selection.createRange();
}
var parent = selection.anchorNode;
while (parent != null && parent.localName != "P") {
parent = parent.parentNode;
}
if (parent == null) {
return "";
} else {
return parent.innerText || parent.textContent;
}
}
Если вы знакомы с Javascript, многое из этого должно быть вам знакомо: такие вещи, как проверка innerText или textContent (Firefox 1.5) и так далее. Чистый Javascript завален такими вещами. Теперь рассмотрим решение jQuery:
function getSelectedParagraphText() {
var userSelection;
if (window.getSelection) {
selection = window.getSelection();
} else if (document.selection) {
selection = document.selection.createRange();
}
var parent = selection.anchorNode;
var paras = $(parent).parents("p")
return paras.length == 0 ? "" : paras.text();
}
Где JQuery действительно сияет, хотя с AJAX. Там есть фрагмент кода JavaScript, чтобы найти правильный объект для создания экземпляра (XMLHttpRequest или эквивалентный) для выполнения AJAX-запроса. JQuery позаботится обо всем этом для вас.
Все это менее чем за 20 КБ для основного файла jQuery Javascript. Для меня это просто необходимо.