教程中 jQuery 的使用

Avatar of Chris Coyier
Chris Coyier 发表于

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

最近的一期 ShopTalk 节目 中提出了一个关于在教程中使用 jQuery 的问题。

最近我开始意识到,在学习 JavaScript 语言时,jQuery 和 JavaScript 之间的界限变得多么模糊。很难找到一个不包含 jQuery 而是使用 JavaScript 的可靠教程。您对过度使用该库有什么看法?

这个问题来自 Nick Hehr,他 也写到了这个问题。您可以通过此 时间跳转链接 听到我们的回答。

如果您已经阅读过这个网站很久了,您就会知道我们在这方面有点“内疚”。我不确定这里是否曾经发布过仅使用“原生”JavaScript(即仅使用 JavaScript,不使用任何框架)而不是 jQuery 的教程。或者,即使有,也是凤毛麟角。这是一件坏事吗?我不确定。但这确实值得讨论。

稍后我发布了一篇文章,介绍了如何在事件发生后 替换文本。我介绍了五种方法。其中两种使用了 jQuery,另一种使用了原生 JavaScript,另外两种使用了 CSS。即使在其他选项中也包含 jQuery,也引发了一些“这有点过头了”的讨论

所以,我对这件事的看法如下。

我写我做的

此博客反映了我学习的东西。我经常使用 jQuery。因此,当我将内容翻译成教程时,我就会按照自己的方式去做。

在过去的几年里,我仅在少数几个不使用 jQuery 的网站上工作过,而那些不使用 jQuery 的网站则使用了其他一些库,或者根本不需要 JavaScript。

jQuery 就是 JavaScript

确实如此。使用 jQuery 实际上仍然是在直接编写和使用 JavaScript。jQuery 只是使它更容易,并降低了入门门槛。我知道很多优秀的 JavaScript 开发人员是从 jQuery 开始的。就像有很多优秀的吉他手是从 Dave Matthews 乐队翻唱乐队翻唱乐队开始的一样。

教程是概念

教程的目的是教授一个想法,并以简洁的方式做到这一点。

假设您想选择一个具有特定类名的按钮,并在单击时更改某些文本。为了避免任何依赖关系,也许您可以使用 document.querySelectorAll(".my-button")。但这将返回一个数组,因此您需要在末尾使用 [0] 来定位元素并附加事件。或者我们应该只使用 querySelector,它选择第一个元素?或者我们应该运行一个循环或映射数组以绑定到所有元素?或者我们应该使用 getElementByClassName?浏览器支持情况如何?我们是否应该讨论为此使用 polyfill?或者我们应该只添加一个 ID 并使用 getElementById,因为这可能是一种最佳实践?

或者,我们只需使用 $(".my-button") 并继续进行教程即可。所有这些内容都很有趣,值得讨论,但并非每个教程都需要每次都讨论。jQuery 允许教程中的概念脱颖而出,而不会陷入细节之中。

未来

目前,我感觉 jQuery 仍然是前端技术栈中非常重要的一部分,非常值得学习,并且仍然适合在教程中使用。

但网络上的情况将会发生变化。随着时间的推移,JavaScript 在教程中的呈现方式也会发生变化。可能吧。我们也会随之改变。可能吧。在过去的几个月里,我看到了一些评论,例如“我觉得如果我使用了 jQuery,说明我做错了”,我以前从未听过这种说法,这可能是变化的预兆。Ember/Angular 等新兴方法也正在兴起。