Czy istnieje prosty sposób na przekonwertowanie kodu jQuery na zwykły javascript? Chyba bez dostępu do kodu źródłowego jQuery lub zrozumienia go.
Czy istnieje prosty sposób na przekonwertowanie kodu jQuery na zwykły javascript? Chyba bez dostępu do kodu źródłowego jQuery lub zrozumienia go.
Odpowiedzi:
Najłatwiej jest po prostu nauczyć się przechodzić przez DOM i manipulować nim za pomocą zwykłego interfejsu API DOM (prawdopodobnie nazwałbyś to: normalnym JavaScriptem).
Może to jednak być uciążliwe dla niektórych rzeczy. (dlatego w pierwszej kolejności wymyślono biblioteki).
Wyszukiwanie w Google hasła „przechodzenie / manipulowanie językiem DOM w javascript” powinno zawierać wiele przydatnych (i mniej pomocnych) zasobów.
Artykuły na tej stronie są całkiem dobre: http://www.htmlgoodies.com/primers/jsp/
I jak Nosredna zwraca uwagę w komentarzach: koniecznie przetestuj we wszystkich przeglądarkach, ponieważ teraz jQuery nie będzie obsługiwał za Ciebie niespójności.
To zapewni ci 90% drogi tam; )
window.$ = document.querySelectorAll.bind(document)
W przypadku Ajax interfejs Fetch API jest teraz obsługiwany w bieżącej wersji wszystkich głównych przeglądarek . Dla $.ready()
, DOMContentLoaded
ma powszechnego poparcia pobliżu . Możesz nie potrzebować jQuery zapewnia równoważne metody natywne dla innych popularnych funkcji jQuery.
Zepto oferuje podobną funkcjonalność, ale waży 10K z zamkiem błyskawicznym . Istnieją niestandardowe kompilacje Ajax dla jQuery i Zepto, a także niektóre mikro-frameworki , ale jQuery / Zepto ma solidną obsługę, a 10KB to tylko ~ 1 sekunda na modemie 56K.
Właśnie znalazłem ten dość imponujący tutorial o konwersji jquery do javascript z Jeffrey Way 19 stycznia 2012 *Copyright © 2014 Envato*
:
http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/
Czy nam się to podoba, czy nie, coraz więcej programistów jest wprowadzanych do świata JavaScript za pośrednictwem jQuery. Pod wieloma względami ci nowicjusze są szczęśliwcami. Mają dostęp do mnóstwa nowych API JavaScript, które znacznie ułatwiają proces przechodzenia przez DOM (coś, od czego wielu ludzi polega na jQuery). Niestety nie wiedzą o tych interfejsach API!
W tym artykule zajmiemy się różnymi typowymi zadaniami jQuery i przekonwertujemy je zarówno na nowoczesny, jak i starszy JavaScript.
Zaproponowałem to w komentarzu do OP i po jego sugestii publikuję, że ma odpowiedź, do której każdy może się odwołać.
Ponadto Jeffrey Way wspomniał o swojej inspiracji czarownicą, która wydaje się być dobrym podkładem do zrozumienia: http://sharedfil.es/js-48hIfQE4XK.html
Ma zwiastun, to porównanie dokumentu jQuery do 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…
});
});
Powinieneś spojrzeć.
Wiem, że to stary wątek, ale istnieje doskonały zasób pokazujący natywny odpowiednik jquery w javascript, który zawiera nawet przykłady z ES6. Jest to najbardziej obszerny artykuł, jaki znalazłem w innych artykułach na ten temat.
Czy istnieje prosty sposób na przekonwertowanie kodu jQuery na zwykły javascript?
Nie, zwłaszcza jeśli:
zrozumienie przykładów rozwiązań javascript napisanych w jQuery [jest] trudne.
JQuery i wszystkie frameworki zwykle ułatwiają zrozumienie kodu. Jeśli trudno to zrozumieć, to javascript waniliowy będzie torturą :)
<input onclick="myfunction(this)">
z myfunction(field){ field.value = "3"; }
ma dla mnie więcej sensu niż <input id='thing'>
z(function ($) { $(thing).click({ $(thing).val("3");});})()
Widzę powód, niezwiązany z oryginalnym postem, aby automatycznie skompilować kod jQuery do standardowego JavaScript:
16k - lub jakakolwiek jest spakowana gzipem, zminimalizowana biblioteka jQuery - może być zbyt duża dla Twojej witryny internetowej przeznaczonej dla przeglądarki mobilnej. W3c zaleca, aby wszystkie żądania HTTP dla witryn mobilnych miały maksymalnie 20 tys.
specyfikacje w3c dla telefonów komórkowych
Więc lubię kodować w moim ładnym, zwięzłym, łańcuchowym jQuery. Ale teraz muszę zoptymalizować pod kątem urządzeń mobilnych. Czy naprawdę powinienem wrócić i wykonać trudną, żmudną pracę polegającą na przepisaniu wszystkich funkcji pomocniczych, których używałem w bibliotece jQuery? A może jest jakaś wygodna aplikacja, która pomoże mi ponownie skompilować?
To byłoby bardzo słodkie. Niestety, nie sądzę, aby coś takiego istniało.
Jeśli chcesz nauczyć się javascript, obejrzyj te filmy Douglasa Crockforda. Oni są bardzo dobrzy.
Książka Jeremy'ego Keitha „ DOM Scripting ” to świetne wprowadzenie do pracy z Javascriptem i DOM. Bardzo go polecam, niezależnie od tego, czy chcesz korzystać z jQuery, czy nie. Dobrze jest wiedzieć, co się dzieje pod spodem.
Dostępnych jest kilka dobrych książek. Lubię ppk w JavaScript. Oto Rozdział 8 dotyczący DOM .