Чи є простий спосіб перетворити код jQuery в звичайний javascript? Я здогадуюсь, не маючи доступу або розуміння вихідного коду jQuery.
Чи є простий спосіб перетворити код jQuery в звичайний javascript? Я здогадуюсь, не маючи доступу або розуміння вихідного коду jQuery.
Відповіді:
Найпростіший спосіб - просто дізнатися, як робити обхід та маніпуляції з DOM за допомогою простого api DOM (ви, мабуть, це назвали б: звичайний JavaScript).
Однак це може бути болем для деяких речей. (саме тому бібліотеки були винайдені в першу чергу).
Гуглінг для "обходу / маніпулювання javascript DOM" повинен надавати вам безліч корисних (і деяких менш корисних) ресурсів.
Статті на цьому веб-сайті досить хороші: http://www.htmlgoodies.com/primers/jsp/
І як в коментарях зазначає Носредна: не забудьте протестувати в усіх браузерах, адже тепер jQuery не вирішить вас.
Це дозволить отримати 90% шляху туди; )
window.$ = document.querySelectorAll.bind(document)
Для Ajax API Fetch тепер підтримується в поточній версії кожного головного браузера . Для $.ready()
, DOMContentLoaded
має практично загальну підтримку . Вам може не потрібно jQuery дає еквівалентні нативні методи для інших поширених функцій jQuery.
Zepto пропонує аналогічну функціональність, але важить в 10 К блискавці. Існують спеціальні версії Ajax для jQuery та Zepto, а також деякі мікрокадри , але jQuery / Zepto мають суцільну підтримку, і 10 КБ - це лише 1 секунда на 56K-модемі.
Щойно я знайшов цей досить вражаючий підручник про перетворення jquery в javascript від Джефрі Уейна 19 січня 2012 року *Copyright © 2014 Envato*
:
http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/
Нам це подобається чи ні, все більше розробників знайомиться зі світом JavaScript через jQuery. Багато в чому ці прибульці - щасливчики. Вони мають доступ до безлічі нових API API, що значно полегшує процес обходу DOM (те, на чому багато людей залежать від jQuery). На жаль, вони не знають про ці API!
У цій статті ми візьмемо різні поширені завдання jQuery та перетворимо їх на сучасні та застарілі JavaScript.
Я запропонував це у коментарі до ОП, і після його пропозиції, я публікую, у ньому є відповідь, на яку всі мають звернутися.
Крім того, Джеффрі Вейс згадував про свою відьму натхнення, здається, хорошим букварем для розуміння: 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. Це найвичерпніший з моїх статей, що висвітлюють цю тему.
Чи є простий спосіб перетворити код 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 - або все, що є gzipped, мінімізована бібліотека jQuery - може бути занадто багато для вашого веб-сайту, призначеного для мобільного браузера. W3c рекомендує, щоб усі HTTP-запити для мобільних веб-сайтів становили максимум 20 кк.
специфікації w3c для мобільних пристроїв
Тож мені подобається кодування в моєму приємному, короткому, прикованому jQuery. Але зараз мені потрібно оптимізувати мобільний телефон. Чи варто насправді повертатися назад і робити важку, виснажливу роботу з переписування всіх помічних функцій, які я використовував у бібліотеці jQuery? Або є якийсь зручний додаток, який допоможе мені перекомпілювати?
Це було б дуже мило. На жаль, я не думаю, що таке існує.
Якщо ви хочете навчитися JavaScript, перегляньте ці відео Дугласа Крокфорда. Вони дуже хороші.
Книга Джеремі Кіта " Сценарій DOM " - це чудове вступ до роботи з Javascript та DOM. Я дуже рекомендую, хочете ви користуватися jQuery чи ні. Добре знати, що відбувається внизу.
Є кілька хороших книг. Мені подобається ppk на JavaScript. Ось C краще 8 на DOM .