jQuery诞生是为了解决什么
jQuery的核心使命就是大幅简化 JavaScript 的编写,让开发者摆脱繁琐、浏览器不兼容的原生DOM操作。
jQuery诞生
- 1995 年 JavaScript 诞生时功能有限
- 2000 年代初,浏览器大战(IE6/7、Firefox、Chrome 等)非常严重
- DOM 操作、事件绑定、Ajax、CSS 选择器等在不同浏览器写法完全不同
- 同一个功能可能要写 10~50 行 代码(比如 IE6 下事件绑定需要额外处理)
- 开发者每天都在和“浏览器差异”耗费时间
- 当时最流行的替代方案是 Prototype.js,但它太重、API 复杂、性能一般
jQuery 的目的:
Write less, do more —— 用更少的代码实现相同(甚至更多)功能,同时保证跨浏览器兼容。
jQuery解决的核心问题
| 问题类别 | 浏览器差异示例 | jQuery 解决方式 |
|---|---|---|
| DOM 操作 | document.getElementById() vs $() | $().css('color', 'red') |
| 事件绑定 | addEventListener vs attachEvent | .on('click', fn) |
| Ajax | XMLHttpRequest vs ActiveXObject | .ajax() |
| 动画 | 不同浏览器动画性能差异 | .animate() |
| CSS 选择器 | 不支持复杂选择器(如 :hidden) | $('div:visible') |
| 链式调用 | 一次只能操作一个元素 | $().find().css().hide() |
| 浏览器版本兼容 | IE6~IE11 事件、CSS hack 各种花式 | 自动处理,无需写 hack |
jQuery = 浏览器兼容 + 代码简洁 + 性能优化的完美结合