前两天看到 jQuery 4.0 发布 Beta 版的消息,第一反应也是:“这项目居然还在更?”

顺手点开更新日志扫了一眼,我发现这次不太一样。这位 前端 开发界的“活化石”,干了一件它早就该干、但一直没舍得干的事:
不再支持 IE10,并且,逐步移除对 IE 和老旧浏览器的支持

2026年了,还是值得为它写一篇文章的,因为我是真用过。
这个东西,是一个 JS 库,但凡了解过前端开发的同学,绝对不陌生。不知道的同学也没关系,你知道这是一个非常重要的库就行了。至于有多重要?可以说,互联网上几乎所有的网站都用过它。
OK,看到这,不感兴趣的同学就可以离开了,因为接下来,是一些关于历史的回忆和感慨了。

现在的开发者可能很难共情这种感觉。在他们的世界里,浏览器基本等于 Chrome,顶多再测个 Safari,火狐算是个备选项。
但是,把时间倒回20年前,哦不,是10年前。前端开发约等于“和 IE 斗智斗勇”。
你刚写好一个酷炫的布局,在 Chrome 上完美运行,一开 IE,全乱套了。为了调一个 z-index 的层级 bug,或者修一个 opacity 的透明度问题,你得写一堆丑陋的 hack 代码。

那时候,$ 符号不是一个库,它是我们的救命稻草。
jQuery 最牛的地方,不是有什么惊天动地的算法,而在于它提供了代码一致性,帮我们挡住了浏览器那些稀奇古怪的差异。它那句 “Write Less, Do More”,翻译过来其实是:“把脏活累活交给我,你们专心写业务。”
同时,这个库也大幅度降低了当时前端开发的复杂度,一句顶十句。
比如说,给网页做一个点击按钮、元素切换显示/隐藏的功能。
用 jQuery 一句话搞定:
$("#btn").on("click", () => $("#panel").stop(true, true).slideToggle(200));
而使用原生 JavaScript,需要先找到元素,再绑定事件,再切换样式:
const btn = document.querySelector("#btn");
const panel = document.querySelector("#panel");
btn.addEventListener("click", () => {
panel.classList.toggle("open");
});
//还需要加点css
#panel { max-height: 0; opacity: 0; overflow: hidden; transition: .2s; }
#panel.open { max-height: 200px; opacity: 1; }
当然,可能用得更多的,还是发送 HTTP 请求了。
比如发一段 POST 请求,jQuery 还是一句话:
$.post("/api/login", { user: "a", pass: "b" }, (res) => console.log(res));
原生 JS,如果浏览器支持 fetch 还好,但是 IE 这个“老古董”是不支持的,所以写起来要命:
var xhr = new XMLHttpRequest();
xhr.open("POST", "/api/login", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200)
{ console.log(JSON.parse(xhr.responseText)); }
};
xhr.send("user=a&pass=b");
所以,jQuery 曾经是几乎所有网页必备的库。即便到了现在,它的市场占有率,同样是居高不下。

这次 jQuery 4.0 的一个重要更新,是它终于开始支持 ESM 模块化了。
这意味着你终于不用像十几年前那样,在 <script> 标签里排队引入文件了。你可以像用现代 前端框架 一样,优雅地 import 它,把它塞进现代的构建流程里。

那么问题来了:现在我们还需要 jQuery 吗?
按理说,现在的原生 JS (querySelector, fetch, classList) 已经够好用了,React 和 Vue 更是统治了复杂的应用开发。jQuery 看起来确实像个上个时代的产物。我也很久没有用过它了。
不过,在外网看到一个观点,说的是“现在的开发环境是不是有点‘过度防御’了?有时候只是想做一个简单的活动页,或者给 WordPress 写个插件,却被逼着去配 Vite、Webpack,去配 TypeScript,去思考组件的生命周期……有时候,我只是想让这一行字淡入淡出而已。”
这可能就是为什么,直到今天,W3Techs 的数据显示全网还有极高比例的网站在使用 jQuery。
所以,jQuery 还在更新,还想继续为大家提供支持,随时准备为那些需要简单、直接地解决问题的人,提供一把趁手的工具。
写到这,突然有点怀念当年刚开始学习前端开发的日子。
那时候没有 npm install 下载半个互联网的焦虑,没有看着打包工具报错发呆的无助。新建一个 HTML 文件,引入一个 jquery.js,写下一行:
$('#dream').fadeIn();

那感觉,真挺好的。