有没有一种简单的方法可以将 jquery 代码转换为 javascript?

IT技术 javascript jquery code-conversion
2021-01-27 01:54:19

有没有一种简单的方法可以将 jQuery 代码转换为常规 javascript?我想无需访问或理解 jQuery 源代码。

5个回答

这将使您完成 90% 的工作;)

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

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

Zepto提供类似的功能,但压缩后重量为 10K。有针对 jQuery 和 Zepto 以及一些微框架的自定义 Ajax 构建,但 jQuery/Zepto 具有可靠的支持,并且 10KB 在 56K 调制解调器上仅约 1 秒。

最简单的方法是学习如何使用普通 DOM api 进行 DOM 遍历和操作(您可能会称之为:普通 JavaScript)。

然而,这对于某些事情来说可能是一种痛苦。(这就是最初发明图书馆的原因)。

谷歌搜索“javascript DOM 遍历/操作”应该会为您提供大量有用的(和一些不太有用的)资源。

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

正如 Nosredna 在评论中指出的那样:确保在所有浏览器中进行测试,因为现在 jQuery 不会为您处理不一致的问题。

桌面工作站的选择如何影响 jQuery 的使用?
2021-03-20 01:54:19
jquery 和你为做同样的事情而编写的一大堆 javascript 对你的公司有什么区别?它不像您正在安装任何东西,用新语言编码或添加任何依赖项。老实说,这是我听过的最愚蠢的事情,允许使用 javascript 但不允许使用 jQuery。jQuery 是 JAVASCRIPT!
2021-03-22 01:54:19
而且您必须确保针对每个浏览器的各种版本进行测试。
2021-03-23 01:54:19
@davidsleeps - jQuery 由 Microsoft 批准......它包含在 Visual Studio 2008 中,从技术上讲,它使其成为“Microsoft”工具。这会让你的雇主感觉更好吗?
2021-04-09 01:54:19
我同情某些组织使用开源库的政治。最后,您花费在简单地(并且可能有错误地)重写为简单的 DOM 遍历和 JS 的时间对公司来说是浪费钱。您可能会认为大公司(包括非常保守的公司)使用 jQuery:docs.jquery.com/Sites_Using_jQuery:oracle、谷歌、亚马逊、戴尔、美国银行、Intuit、Salesforce。这些几乎不是嬉皮共产主义公司。这些是非常真实的公司,其法律部门可能已经完成了功课并接受了 jQuery...
2021-04-12 01:54:19

我刚刚在 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…
  });
});

你应该看看。

2021-04-04 01:54:19

有没有一种简单的方法可以将 jQuery 代码转换为常规 javascript?

不,特别是如果:

理解用 jQuery 编写的 javascript 解决方案的例子 [是] 很难。

JQuery 和所有框架都倾向于使代码更容易理解。如果这很难理解,那么 vanilla javascript 将是一种折磨:)

其他人有实际答案
2021-03-19 01:54:19
此外,虽然 JQuery 使代码更简洁(通常),但它是否真的使代码更容易仍有争议jQuery 可以使一些代码更难心理解析。例如,<input onclick="myfunction(this)">myfunction(field){ field.value = "3"; }对我来说比<input id='thing'>更有意义(function ($) { $(thing).click({ $(thing).val("3");});})()
2021-03-29 01:54:19

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

16k —— 或者任何 gzip 压缩的、缩小的 jQuery 库——对于你的网站来说可能太多了,因为它是为移动浏览器设计的。w3c 建议移动网站的所有 HTTP 请求最大为 20k。

移动设备的 w3c 规范

所以我喜欢用我漂亮的、简洁的、链接的 jQuery 编码。但现在我需要针对移动设备进行优化。我真的应该回去重新编写我在 jQuery 库中使用的所有辅助函数的困难、乏味的工作吗?或者有什么方便的应用程序可以帮助我重新编译?

那会很甜蜜。可悲的是,我认为这样的事情不存在。