Есть ли простой способ конвертировать jquery код в javascript?
Существует множество примеров достижения определенных целей в javascript/dom с помощью jQuery. Однако использование jQuery не всегда является вариантом, который может усложнить понимание примеров решений javascript, написанных на jQuery.
Есть ли простой способ конвертировать код JQuery в обычный JavaScript? Я думаю, без необходимости доступа или понимания исходного кода jQuery.
9 ответов
Самый простой способ - просто научиться выполнять обход и манипулирование DOM с помощью простого API DOM (вы, вероятно, назвали бы это: обычный JavaScript).
Это может, однако, быть болью для некоторых вещей. (именно поэтому библиотеки были изобретены в первую очередь).
Поиск в Google для "обхода / манипуляции DOM javascript" должен предоставить вам множество полезных (и некоторых менее полезных) ресурсов.
Статьи на этом сайте довольно хороши: http://www.htmlgoodies.com/primers/jsp/
И, как отмечает Носредна в комментариях: обязательно тестируйте во всех браузерах, потому что теперь jQuery не будет обрабатывать несоответствия за вас.
Это даст вам 90% пути туда;)
window.$ = document.querySelectorAll.bind(document)
Для Ajax Fetch API теперь поддерживается в текущей версии каждого основного браузера. За $.ready()
, DOMContentLoaded
имеет почти универсальную поддержку. Вам может не понадобиться jQuery предоставляет эквивалентные нативные методы для других распространенных функций jQuery.
Zepto предлагает аналогичную функциональность, но весит 10K на молнии. Существуют пользовательские сборки Ajax для jQuery и Zepto, а также некоторые микро-фреймворки, но jQuery/Zepto имеют надежную поддержку и 10 КБ - всего ~1 секунда на модеме 56 КБ.
Я только что нашел этот впечатляющий урок о преобразовании jquery в javascript от Джеффри Уэя 19 января 2012 года. *Copyright © 2014 Envato*
:
http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/
Нравится нам это или нет, все больше и больше разработчиков знакомятся с миром JavaScript через jQuery. Во многих отношениях эти новички счастливчики. У них есть доступ к множеству новых API-интерфейсов JavaScript, которые значительно упрощают процесс обхода DOM (то, от чего многие люди зависят от jQuery). К сожалению, они не знают об этих API!
В этой статье мы рассмотрим различные распространенные задачи jQuery и преобразуем их как в современный, так и в устаревший JavaScript.
Я предложил это в комментарии к OP, и после его предложения, я публикую его, у него есть ответ, к которому все могут обратиться.
Кроме того, Джеффри Уэй, упомянутый о его вдохновляющей ведьме, кажется, хороший пример для понимания: http://sharedfil.es/js-48hIfQE4XK.html
Имеет тизер, этот документ сравнение jQuery с javascript:
$(document).ready(function() {
// code…
});
document.addEventListener("DOMContentLoaded", function() {
// code…
});
$("a").click(function() {
// code…
})
[].forEach.call(document.querySelectorAll("a"), function(el) {
el.addEventListener("click", function() {
// code…
});
});
Вы должны взглянуть.
Я знаю, что это старый поток, но есть отличный ресурс, показывающий нативный javascript, эквивалентный jquery, он даже включает примеры ES6. Это самая полная из всех статей, которые я нашел в этой теме.
Если вы хотите изучить javascript, посмотрите эти видео Дугласа Крокфорда. Они очень хороши.
Есть ли простой способ конвертировать код JQuery в обычный JavaScript?
Нет, особенно если:
понять примеры решений javascript, написанных на jQuery, сложно.
JQuery и все фреймворки, как правило, облегчают понимание кода. Если это трудно понять, то ванильный javascript будет пыткой:)
Я вижу причину, не связанную с оригинальным постом, чтобы автоматически компилировать код jQuery в стандартный JavaScript:
16k - или что-то вроде сжатой, минимизированной библиотеки jQuery - может быть слишком много для вашего веб-сайта, который предназначен для мобильного браузера. W3c рекомендует, чтобы все HTTP-запросы для мобильных веб-сайтов составляли не более 20 тыс.
W3C спецификации для мобильных
Так что мне нравится писать код в моем хорошем, лаконичном jQuery. Но теперь мне нужно оптимизировать для мобильных устройств. Должен ли я действительно вернуться и выполнить сложную, утомительную работу по переписыванию всех вспомогательных функций, которые я использовал в библиотеке jQuery? Или есть какое-то удобное приложение, которое поможет мне перекомпилировать?
Это было бы очень мило. К сожалению, я не думаю, что такая вещь существует.
Есть несколько хороших доступных книг. Мне нравится PPK на JavaScript. Вот С 8-й главы DOM.
Книга Джереми Кейта " DOM Scripting" - отличное введение в работу с Javascript и DOM. Я настоятельно рекомендую это, хотите ли вы использовать jQuery или нет. Приятно знать, что происходит внизу.