有许多使用jQuery在javascript / dom中实现某些功能的例子。但是,使用jQuery并不总是能够理解用jQuery编写的javascript解决方案的例子。
有没有简单的方法将jQuery代码转换为常规javascript?我想无需访问或理解jQuery源代码。
答案 0 :(得分:52)
这将使你获得90%的胜利; )
window.$ = document.querySelectorAll.bind(document)
对于Ajax,Fetch API现在是supported on the current version of every major browser。对于$.ready()
,DOMContentLoaded
有near universal support。 You Might Not Need jQuery为其他常见的jQuery函数提供了等效的本机方法。
Zepto提供类似的功能,但重量为10K拉链。有jQuery和Zepto以及一些micro frameworks的自定义Ajax构建,但是jQuery / Zepto有一个坚实的支持,而56K调制解调器上只有1KB的10KB。
答案 1 :(得分:40)
最简单的方法是学习如何使用普通的DOM api进行DOM遍历和操作(你可能会称之为:普通的JavaScript)。
然而,这对某些事情来说可能是一种痛苦。 (这就是为什么首先发明了图书馆的原因。)Google搜索“javascript DOM遍历/操作”应该会为您提供大量有用的(以及一些不太有用的)资源。
本网站上的文章非常好:http://www.htmlgoodies.com/primers/jsp/
正如Nosredna在评论中指出的那样:一定要在所有浏览器中进行测试,因为现在jQuery不会为你处理不一致。
答案 2 :(得分:20)
我刚刚在2012年1月19日 Jeffrey Way发现了关于jquery转换为javascript的非常令人印象深刻的教程 *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的评论中提出了这个建议,在他的建议之后,我发布了它,每个人都可以参考答案。
另外,Jeffrey Way提到了他的灵感,女巫似乎是理解的好基础: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…
});
});
你应该看看。
答案 3 :(得分:13)
我知道这是一个旧线程,但有一个很好的资源显示本机javascript相当于jquery,它甚至包括ES6示例。这是我在其他文章中发现的最全面的一个。
答案 4 :(得分:7)
如果您想学习javascript,请观看Douglas Crockford视频。他们非常好。
答案 5 :(得分:7)
有没有一种简单的方法来转换jQuery 常规javascript的代码?
不,特别是如果:
理解 JavaScript解决方案的示例 用jQuery编写[很难]。
JQuery和所有框架都倾向于更容易理解代码。如果这很难理解,那么vanilla javascript就会受到折磨:)
答案 6 :(得分:6)
我可以看到一个与原始帖子无关的原因,可以自动将jQuery代码编译成标准JavaScript:
16k - 或者任何gzip,缩小的jQuery库 - 可能对于用于移动浏览器的网站来说太多了。 w3c建议移动网站的所有HTTP请求最多应为20k。所以我喜欢用我漂亮,简洁,链式的jQuery编写代码。但现在我需要针对移动设备进行优化。我真的应该回去做一下重写我在jQuery库中使用的所有辅助函数的困难,繁琐的工作吗?或者是否有某种方便的应用程序可以帮助我重新编译?
那会非常甜蜜。可悲的是,我不认为存在这样的事情。
答案 7 :(得分:1)
Jeremy Keith的书“DOM Scripting”是使用Javascript和DOM的一个很好的介绍。我强烈推荐它,无论你是否想使用jQuery。很高兴知道下面发生了什么。
答案 8 :(得分:1)
有几本好书可供选择。我喜欢JavaScript上的ppk。这是C hapter 8 on the DOM。