Есть ли простой способ конвертировать jquery-код в javascript?

В javascript/dom есть много примеров достижения определенных вещей в jQuery. Однако использование jQuery не всегда является вариантом, который может помочь понять примеры javascript-решений, написанных в jQuery.

Есть ли простой способ конвертировать jQuery-код в обычный javascript? Я думаю, без необходимости доступа или понимания исходного кода jQuery.

Ответ 1

Самый простой способ - просто узнать, как выполнять DOM-переходы и манипуляции с простым DOM-api (вы, вероятно, называете это: обычный JavaScript).

Это может быть болью для некоторых вещей. (именно поэтому библиотеки были изобретены в первую очередь).

Googling для "javascript DOM traversing/manipulation" должен предоставить вам множество полезных (и некоторых менее полезных) ресурсов.

Статьи на этом сайте довольно хороши: http://www.htmlgoodies.com/primers/jsp/

И как указывает Носредна в комментариях: обязательно проверьте во всех браузерах, потому что теперь jQuery не будет обрабатывать несоответствия для вас.

Ответ 2

Это даст вам 90% пути; )

window.$ = document.querySelectorAll.bind(document)

Для Ajax Fetch API теперь поддерживаемый на текущую версию каждого главного браузера. Для $.ready() DOMContentLoaded имеет рядом с универсальной поддержкой. Вам не нужно jQuery дает эквивалентные собственные методы для других общих функций jQuery.

Zepto предлагает аналогичную функциональность, но весит 10 кг. Существуют специальные сборки Ajax для jQuery и Zepto, а также некоторые micro frameworks, но jQuery/Zepto имеют прочную поддержку, а 10 КБ - только 1 секунду на модеме 56K.

Ответ 3

Я только что нашел этот довольно впечатляющий учебник о jquery для преобразования javascript из Jeffrey Way 19 января 2012 года *Copyright © 2014 Envato*:

http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/

Нравится нам это или нет, все больше и больше разработчиков впервые представленный в JavaScript 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…
  });
});

Вы должны посмотреть.

Ответ 4

Есть ли простой способ конвертировать jQuery код для обычного javascript?

Нет, особенно если:

понимание примеры решений javascript написанное в jQuery [is] сложно.

JQuery и все структуры, как правило, упрощают понимание кода. Если это трудно понять, тогда ванильный javascript будет пыткой:)

Ответ 5

Я знаю, что это старый поток, но есть отличный ресурс, показывающий собственный javascript, эквивалентный jquery, и даже примеры ES6. Это наиболее полное из того, что я нашел из других статей, посвященных этому вопросу.

jQuery для Vanilla JS

Ответ 6

Я вижу причину, не связанную с исходным сообщением, для автоматической компиляции кода jQuery в стандартный JavaScript:

16k - или что-то вроде gzipped, миниатюрной библиотеки jQuery - может быть слишком много для вашего веб-сайта, предназначенного для мобильного браузера. W3c рекомендует, чтобы все HTTP-запросы для мобильных веб-сайтов составляли максимум 20 тыс.

спецификации w3c для мобильных устройств

Так что мне нравится кодирование в моем хорошем, кратком, заколдованном jQuery. Но теперь мне нужно оптимизировать для мобильных устройств. Должен ли я действительно вернуться и выполнить сложную, утомительную работу по переписыванию всех вспомогательных функций, которые я использовал в библиотеке jQuery? Или есть какое-то удобное приложение, которое поможет мне перекомпилировать?

Это было бы очень мило. К сожалению, я не думаю, что такая вещь существует.

Ответ 7

Если вы хотите изучить javascript, посмотрите эти видеозаписи Дугласа Крокфорда. Они очень хорошие.

Ответ 8

Книга Джереми Кейта " DOM Scripting - отличное введение в работу с Javascript и DOM. Я очень рекомендую, хотите ли вы использовать jQuery или нет. Хорошо знать, что происходит внизу.

Ответ 9

Есть несколько хороших книг. Мне нравится ppk на JavaScript. Здесь C глава 8 в DOM.

Ответ 10

Вы можете попробовать http://www.jsobfuscate.com. Согласно сайту:

Obfuscation предоставляет способ защитить ваш код, сделав его нечитабельно с использованием передовых алгоритмов, а также уменьшает размер ваших файлов для скорости.

Это означает, что вы, возможно, не сможете "прочитать" код js, но преобразование jQuery в Javascript полностью работает.