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 = 浏览器兼容 + 代码简洁 + 性能优化的完美结合