Bootstrap 是否需要 jQuery 取决于版本:Bootstrap 5 不再依赖 jQuery;Bootstrap 4 必须使用 jQuery 3.x(推荐 3.6.0 或 3.7.1);Bootstrap 3 兼容 jQuery 1.9.1+ 或 2.x,但不推荐混用 3.x,因事件机制和 API 差异易导致组件异常。

Bootstrap 是否需要 jQuery,取决于你用的是哪个大版本:Bootstrap 5 不再依赖 jQuery;Bootstrap 4 必须配 jQuery 3.x;Bootstrap 3 则兼容 jQuery 1.9.1+ 或 2.x,但不推荐混用 3.x。
Bootstrap 4 必须用 jQuery 3.x
Bootstrap 4 的 JavaScript 组件(如 modal()、dropdown()、tooltip())底层调用 jQuery 3 的 API,比如 .data() 和 .triggerHandler() 的行为在 jQuery 3 中有调整。若误用 jQuery 1.x 或 2.x,常见报错是 TypeError: $(...).modal is not a function 或 tooltip 初始化失败。
- 推荐使用
jquery-3.6.0.min.js(稳定、广泛验证)或jquery-3.7.1.min.js(最新 LTS) - 避免使用
jquery.slim.min.js:它移除了 Ajax、动画等模块,而 Bootstrap 4 的carousel和部分过渡效果会直接报$.support is not defined - CDN 引入顺序必须是:
jquery.min.js→bootstrap.bundle.min.js(含 Popper)或popper.min.js+bootstrap.min.js
Bootstrap 3 可用 jQuery 1.9.1+,但别硬上 3.x
虽然官方文档写“支持 jQuery 1.9.1+”,实际测试中 jQuery 3.x 会导致部分组件异常:例如 affix 失效、scrollspy 监听错位、tab('show') 触发两次事件。这是因为 jQuery 3 改写了事件委托机制和 .offset() 计算逻辑。
- 稳妥组合是
jquery-1.12.4.min.js(jQuery 1.x 最终版) +bootstrap-3.4.1.min.js - 若项目已用 jQuery 3.x,又必须保留 Bootstrap 3,需手动 patch
$.fn.modal.Constructor.prototype.enforceFocus等几处调用,不建议 -
bootstrap-select、bootstrap-datetimepicker等第三方插件大多只测试过 jQuery 1.x/2.x,查它们的 README 再决定
Bootstrap 5 完全不需要 jQuery
Bootstrap 5 移除了所有 jQuery 依赖,全部重写为原生 JavaScript。如果你看到项目里还引了 jQuery,那大概率是历史包袱或第三方插件(如 bootstrap-table)强依赖,不是 Bootstrap 5 本身要的。
- 引入
bootstrap.min.js前加 jQuery,不会报错,但纯属冗余——浪费约 80KB HTTP 体积,且可能干扰自定义事件监听 - 想迁移旧项目?先确认哪些组件被 jQuery 插件接管(比如用
$('[data-toggle="tooltip"]').tooltip()),再改用bootstrap.Tooltip的 ES 模块调用方式 - 注意:
bootstrap.bundle.min.js已内置 Popper,无需额外引入,也别再配jquery.min.js
最容易被忽略的一点:很多团队在升级 Bootstrap 时只换 CSS 文件,却漏掉 JS 文件和 jQuery 版本联动检查。结果是下拉菜单点不动、模态框关不掉——问题不在代码逻辑,而在 bootstrap.min.js 和 jquery.min.js 的 ABI 不匹配。


















