Есть ли простой способ преобразовать код jQuery в обычный javascript? Я думаю, без доступа или понимания исходного кода jQuery.
Есть ли простой способ преобразовать код jQuery в обычный javascript? Я думаю, без доступа или понимания исходного кода jQuery.
Ответы:
Самый простой способ - просто научиться выполнять обход и манипулирование DOM с помощью простого API-интерфейса DOM (вы, вероятно, назвали бы это: обычный JavaScript).
Однако это может быть проблемой для некоторых вещей. (именно поэтому библиотеки были изобретены в первую очередь).
Поиск в Google по запросу "обход / манипуляции с Javascript DOM" должен предоставить вам множество полезных (и некоторых менее полезных) ресурсов.
Статьи на этом сайте довольно хорошие: http://www.htmlgoodies.com/primers/jsp/
И, как указывает Носредна в комментариях: обязательно протестируйте во всех браузерах, потому что теперь jQuery не будет обрабатывать несоответствия за вас.
Это поможет вам пройти 90% пути; )
window.$ = document.querySelectorAll.bind(document)
Для Ajax Fetch API теперь поддерживается в текущей версии всех основных браузеров . Для $.ready()
, DOMContentLoaded
имеет практически всеобщую поддержку . Возможно, вам не понадобится jQuery предоставляет эквивалентные собственные методы для других распространенных функций jQuery.
Zepto предлагает аналогичную функциональность, но весит 10 КБ. Существуют пользовательские сборки 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…
});
});
Вы должны посмотреть.
Есть ли простой способ преобразовать код jQuery в обычный javascript?
Нет, особенно если:
разобраться в примерах решений javascript, написанных на jQuery [], сложно.
JQuery и все фреймворки, как правило, упрощают понимание кода. Если это сложно понять, то ванильный javascript будет пыткой :)
<input onclick="myfunction(this)">
с myfunction(field){ field.value = "3"; }
разумнее меня , чем <input id='thing'>
с(function ($) { $(thing).click({ $(thing).val("3");});})()
Я вижу причину, не имеющую отношения к исходному сообщению, для автоматической компиляции кода jQuery в стандартный JavaScript:
16k - или что-то еще, сжатая сжатая, миниатюрная библиотека jQuery - может быть слишком много для вашего веб-сайта, предназначенного для мобильного браузера. W3C рекомендует, чтобы все HTTP-запросы для мобильных веб-сайтов не превышали 20 КБ.
w3c спецификации для мобильных
Так что мне нравится писать код в моем красивом, кратком, связанном jQuery. Но теперь мне нужно оптимизировать для мобильных устройств. Стоит ли мне действительно вернуться и проделать сложную и утомительную работу по переписыванию всех вспомогательных функций, которые я использовал в библиотеке jQuery? Или есть какое-то удобное приложение, которое поможет перекомпилировать?
Это было бы очень мило. К сожалению, я не думаю, что такое существует.