有没有简单的方法来将jQuery代码转换为JavaScript?

有很多例子使用jQuery在javascript / dom中获得某些东西。 但是,使用jQuery并不总是一个很好的理解用jQuery编写的javascript解决scheme的例子。

有没有简单的方法将jQuery代码转换为常规的JavaScript? 我猜不必访问或理解jQuery源代码。

最简单的方法是学习如何使用普通的DOM API进行DOM遍历和操作(你可能会这样称呼:普通的JavaScript)。

这可能是一些事情的痛苦。 (这就是为什么图书馆首先被发明的原因)。

谷歌search“JavaScript DOM遍历/操纵”应该为您提供大量有用的(和一些不太有用的)资源。

这个网站上的文章相当不错: http : //www.htmlgoodies.com/primers/jsp/

正如Nosredna在评论中指出的那样:一定要在所有浏览器中进行testing,因为现在jQuery不会为你处理不一致的问题。

这会让你有90%的路程。 )

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

对于Ajax,现在每个主要浏览器的当前版本都支持 Fetch API 。 对于$.ready()DOMContentLoaded几乎具有通用的支持 。 您可能不需要jQuery为其他常见的jQuery函数提供等效的本机方法。

Zepto提供类似的function,但重量在10K压缩。 有jQuery和Zepto以及一些微型框架的自定义Ajax构build,但jQuery / Zepto具有坚实的支持,10KB仅在56K调制解调器上大约1秒。

我刚刚发现这个相当令人印象深刻的教程关于jQuery的JavaScript转换杰弗里·路在2012年1月19日 *Copyright © 2014 Envato*

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

无论我们喜不喜欢,越来越多的开发人员首先通过jQuery将JavaScript引入世界。 在很多方面,这些新人是幸运的。 他们可以访问大量新的JavaScript API,这使得DOM遍历的过程(许多人依赖于jQuery的东西)变得相当容易。 不幸的是,他们不知道这些API!

在本文中,我们将采取各种常见的jQuery任务,并将其转换为现代和旧版JavaScript。

我在OP的意见中提出了这个意见,经过他的build议,我发表了一个答案供大家参考。

此外,杰弗里提到他的灵感女巫似乎是一个很好的理解底漆: 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?

不,特别是如果:

理解用jQuery编写的javascript解决scheme的例子很难。

JQuery和所有的框架都倾向于更容易理解代码。 如果这是难以理解的,那么香草JavaScript将被折磨:)

我知道这是一个古老的线程,但有一个很好的资源,显示原生的JavaScript相当于jQuery,它甚至包括ES6的例子。 这是涵盖这个主题的其他文章中发现的最全面的。

jQuery到Vanilla JS

我可以看到一个与原始文章无关的原因,自动将jQuery代码编译成标准的JavaScript:

16k – 或者任何经过gzip压缩的,精简的jQuery库 – 对于用于移动浏览器的网站来说可能太多了。 w3cbuild议所有对移动网站的HTTP请求最多为20k。

w3c手机规格

所以我喜欢用我的漂亮简洁的jQuery编码。 但是现在我需要为移动设备进行优化。 我真的应该回头去做重写所有我在jQuery库中使用的帮助函数吗? 还是有一种方便的应用程序,将帮助我重新编译?

这将是非常甜蜜的。 可悲的是,我不认为这样的事情存在。

如果你想学习JavaScript,请观看Douglas Crockford的video。 他们很好。

  1. Javascript编程语言:历史,语言,高级function,平台,标准,风格 [ 下载幻灯片 ]
    • 请参阅YUI博客条目
  2. DOM理论 [ 下载幻灯片 ]
    • 请参阅YUI博客条目
  3. 高级Javascript:inheritance,模块,debugging,效率,JSON [ 下载幻灯片 ]
    • 请参阅YUI博客条目

Jeremy Keith的书“ DOM Scripting ”是使用Javascript和DOM的一个很好的介绍。 我强烈推荐它,不pipe你是否使用jQuery。 很高兴知道下面发生了什么。

有几本好书可用。 我喜欢JavaScript的ppk。 这里是DOM的第8章 。

你可以试试http://www.jsobfuscate.com 。 据网站介绍:

混淆提供了一种保护代码的方法,通过使用高级algorithm使代码不可读,还可以减less文件的大小以提高速度。

这意味着您可能无法“读取”js代码,但jQuery to Javascript转换完全可行。