
关于jQuery,许多人说:“只需使用常规JavaScript。 您不需要jQuery库。” 我能说什么 我不需要很多东西,但是尽管如此,当它们是很好的。 jQuery也是如此。 我不需要这个库,但是手头肯定很不错。
像
您可能不需要jQuery (YMNJQ)之类的网站都在宣传jQuery非常容易摆脱的想法。 但是此站点上的第一个示例演示了使用jQuery的充分理由。 在那里,用10行常规JS替换了一条简单的jQuery代码行!
大多数JavaScript API(特别是那些专注于DOM的API)都冒犯了我的审美观念。 坦率地说,这是我对他们的态度。 直接说,我认为这些API是一场噩梦。 例如,
el.insertAdjacentElement('afterend', other)
构造当然可以工作。 但是看起来好得多
$(el).after(other)
。 尽管我从未真正喜欢过
$()
函数的外观,但是它比使用DOM的标准API给我们的东西要好得多。 我知道您可以使用
$()
代替
jQuery(sel)
或
window.jq = jQuery
。 但是我不会在没有空气的地方编程。 因此,我更喜欢使用标准技术。 我不知道这是好是坏,但是使用jQuery的标准是
$()
构造。
尝试快速记住如何使用DOM获取另一个元素的邻居元素。 我应该为this-
nextSibling
或
nextElementSibling
什么? 有什么区别? 哪些浏览器支持这种方法? 当您尝试记住这一点并查看MDN时,请检查自己,我使用jQuery编写
next()
或
prev()
。
执行JavaScript API中实现的许多常见操作很不方便。 我可以在此处提供此类操作的完整列表,但对我来说,它在YMNJQ页面上已完成。
为了使用JS工具解决各种简单问题,需要辅助功能。 同样,在YMNJQ网站上,您可以找到许多示例。 使用jQuery是在项目代码中包含此类帮助程序功能的标准方法。 同时,程序员不需要每次都需要这样的东西来从出现在他手上的Stack Overflow的第一个答案中获取代码片段。
尽管近来浏览器兼容性问题已失去其严重性,但它们仍然是相关的。 特别是-对于那些不属于开发人员阵营的人,他们认为,如果某些功能可在85%的浏览器中运行,那么它就适合他们。 顺便说一下,
这是为何Hello CSS不使用CSS变量的材料。
我应该一直使用jQuery吗? 不,当然不是。 任何其他依赖关系都将增加项目的复杂性并增加其代码量。 但是jQuery并不是一个很大的库。 最小化和压缩的标准组件耗时30 Kb。 不带ajax且很少使用的功能的自定义装配为23 Kb。 而使用
querySelector
而不是
querySelector
的程序集仅占用17 Kb。 为了解决许多问题,我对30 Kb的标准组件和17 Kb的优化组件感到非常满意。
在这里,您可以看到从Bootstrap删除jQuery并切换到常规JS方面已经付出了很大的努力。
开发人员已编写了自己的帮助程序功能。 他们不得不放弃IE支持,因为这种支持很难实施。 他们使API不兼容(“我们破坏了一切”),并花了一年半的时间。 我不能说发生的事情比发生的事情好得多。
我了解将Bootstrap转换为常规JS的原因。 例如,开发人员希望将Bootstrap与Vue.js或类似的东西一起使用。 而且在一个项目中的Vue.js和jQuery已经有点破产了。 我是减少Web上不必要代码数量的大力支持者(
这是有关此方面的一些材料)。 但是我在这里建议从务实和现实的角度来看待这种情况。 Bootstrap中是否包含17 KB的jQuery代码-这样不好吗? 当我说要查看《中型》或《纽约时报》之类的网站时,为了保护这种情况,您需要下载超过兆字节的JavaScript代码,他们问我是否坐在任何56千克调制解调器线路上。 兆字节JS很好。 17Kb jQuery真的很重吗?
有充分的理由不使用jQuery。 例如,如果您正在编写要与他人共享的代码,或者正在创建一些小功能,则不需要jQuery。 但是,为什么要搞清楚,以免使用jQuery? 如果只写
$()
为什么还要花这么多精力呢? 我认为jQuery不应在任何地方始终使用,但我认为对jQuery的狂热拒绝是正确的。
我想指出,我还没有嫁给jQuery。 我很乐意使用“ jQuery light”之类的东西-一种涵盖标准API缺点的库,为程序员提供了更愉悦的体验。 YMNJQ网站推荐了旨在解决各种问题的
bonzo库和
$ dom库。 但是,其中许多似乎已经很久没有得到支持了。 另外,许多人已经知道jQuery。 为什么在没有充分理由的情况下将jQuery更改为其他内容?
在本文的上下文中,许多读者可能想知道我能对Vue.js,React和其他现代框架怎么说。 但是,本文的目的是映射普通的JavaScript和jQuery,而不是向社区提供“宏伟的通用前端开发理论”。
鉴于以上所述,我相信在使用jQuery的地方使用普通JS的理由很少。 这主要是因为我想创建快速页面并使用最简单的工作结构。 同时,我努力确保尽可能多的Web用户可以查看我的页面。 经验告诉我,实现此目标的最短方法是在服务器上生成的模板,这些模板在JavaScript的基础上以“渐进式改进”的方式略为成熟。 如果将此类项目与使用更复杂的项目进行比较,那么事实证明它们通常更易于开发。 这样的项目通常速度更快,通常错误更少,并且在进行处理时,笔记本电脑风扇不会发出会唤醒整个房子的噪音。
这是否意味着现代Web框架和强大的库总是不好的? 不,不是。 很少有人总是被称为坏或好。 但是使用框架意味着要做出一些让步(当然,这对于jQuery是正确的)。
通常,我将Web视为查看文档的环境,而不是操作系统。 而且,“文档方法”不仅对于常规站点也很有效,对于许多“ Web应用程序”(无论您称其为什么)也都很好。
亲爱的读者们! 您使用jQuery吗?

