Existe-t-il un moyen simple de convertir du code jQuery en javascript standard? Je suppose sans avoir à accéder ou à comprendre le code source de jQuery.
Existe-t-il un moyen simple de convertir du code jQuery en javascript standard? Je suppose sans avoir à accéder ou à comprendre le code source de jQuery.
Réponses:
Le moyen le plus simple est simplement d'apprendre à parcourir et à manipuler le DOM avec l'API DOM simple (vous appelleriez probablement ceci: JavaScript normal).
Cela peut cependant être pénible pour certaines choses. (c'est pourquoi les bibliothèques ont été inventées en premier lieu).
La recherche sur Google de "javascript DOM traversing / manipulation" devrait vous présenter de nombreuses ressources utiles (et certaines moins utiles).
Les articles de ce site Web sont plutôt bons: http://www.htmlgoodies.com/primers/jsp/
Et comme Nosredna le souligne dans les commentaires: assurez-vous de tester dans tous les navigateurs, car maintenant jQuery ne gérera pas les incohérences pour vous.
Cela vous mènera à 90% du chemin; )
window.$ = document.querySelectorAll.bind(document)
Pour Ajax, l' API Fetch est désormais prise en charge sur la version actuelle de tous les principaux navigateurs . Car $.ready()
, DOMContentLoaded
a un support quasi universel . Vous n'aurez peut-être pas besoin de jQuery donne des méthodes natives équivalentes pour d'autres fonctions jQuery courantes.
Zepto offre des fonctionnalités similaires mais pèse 10K zippé. Il existe des versions Ajax personnalisées pour jQuery et Zepto ainsi que certains micro-frameworks , mais jQuery / Zepto ont un support solide et 10 Ko ne représentent que ~ 1 seconde sur un modem 56K.
Je viens de trouver ce tutoriel assez impressionnant sur la conversion jquery en javascript de Jeffrey Way le 19 janvier 2012 *Copyright © 2014 Envato*
:
http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/
Que cela nous plaise ou non, de plus en plus de développeurs sont d'abord introduits dans le monde de JavaScript via jQuery. À bien des égards, ces nouveaux arrivants sont les plus chanceux. Ils ont accès à une pléthore de nouvelles API JavaScript, ce qui facilite considérablement le processus de traversée du DOM (ce pour quoi beaucoup de gens dépendent de jQuery). Malheureusement, ils ne connaissent pas ces API!
Dans cet article, nous allons prendre une variété de tâches jQuery courantes et les convertir en JavaScript moderne et hérité.
Je l'ai proposé dans un commentaire à OP, et après sa suggestion, je le publie a une réponse à laquelle tout le monde peut se référer.
En outre, Jeffrey Way a mentionné son inspiration sorcière semble être une bonne introduction à la compréhension: http://sharedfil.es/js-48hIfQE4XK.html
A un teaser, cette comparaison de document de 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…
});
});
Tu devrais y jeter un œil.
Je sais que c'est un vieux thread mais il y a une excellente ressource montrant l'équivalent javascript natif de jquery, il inclut même des exemples ES6. C'est le plus complet que j'ai trouvé parmi les autres articles traitant de ce sujet.
Existe-t-il un moyen simple de convertir du code jQuery en javascript standard?
Non, surtout si:
comprendre les exemples de solutions javascript écrites en jQuery [est] difficile.
JQuery et tous les frameworks ont tendance à faciliter la compréhension du code. Si c'est difficile à comprendre, alors le javascript vanille sera une torture :)
<input onclick="myfunction(this)">
avec a myfunction(field){ field.value = "3"; }
plus de sens pour moi <input id='thing'>
qu'avec(function ($) { $(thing).click({ $(thing).val("3");});})()
Je peux voir une raison, sans rapport avec le message original, de compiler automatiquement le code jQuery en JavaScript standard:
16k - ou quelle que soit la bibliothèque jQuery gzippée et minifiée - peut être trop pour votre site Web destiné à un navigateur mobile. Le w3c recommande que toutes les requêtes HTTP pour les sites Web mobiles ne dépassent pas 20 Ko.
spécifications w3c pour mobile
J'apprécie donc le codage dans mon jQuery sympa, concis et enchaîné. Mais maintenant, je dois optimiser pour le mobile. Dois-je vraiment revenir en arrière et faire le travail difficile et fastidieux de réécrire toutes les fonctions d'aide que j'ai utilisées dans la bibliothèque jQuery? Ou existe-t-il une sorte d'application pratique qui m'aidera à recompiler?
Ce serait très gentil. Malheureusement, je ne pense pas qu'une telle chose existe.
Si vous voulez apprendre le javascript, regardez ces vidéos de Douglas Crockford. Ils sont très bons.
Le livre de Jeremy Keith " DOM Scripting " est une excellente introduction au travail avec Javascript et le DOM. Je le recommande vivement, que vous souhaitiez utiliser jQuery ou non. Il est bon de savoir ce qui se passe en dessous.
Il existe plusieurs bons livres disponibles. J'aime ppk sur JavaScript. Voici le chapitre 8 sur le DOM .