Bootstrap 5 彻底移除 jQuery 依赖,基于原生 DOM API 和 ES6+ 类实现组件交互;必须使用 data-bs-* 属性、bootstrap.bundle.min.js,并在 DOM 就绪后手动初始化实例。
Bootstrap 5 移除 jQuery 不是“省点体积”的权宜之计,而是彻底重写交互逻辑后的性能必然结果;它带来的不只是首屏快几十毫秒,更是事件响应更可控、内存占用更低、与现代 CSS 变量协同更自然。 bootstrap is not defined 错误的真正原因不是没引文件 这个错误几乎总是执行时机问题,而非路径或 CDN 失效。Bootstrap 5 的bootstrapbootstrap.bundle.min.jsbootstrap.bundle.min.jsbootstrap.ModalDOMContentLoadeddeferloaddata-toggle$().modal()data-bs-toggle="modal"new bootstrap.Modal().show()document.getElementById('myModal').click()data-bs-toggle="modal"data-bs-targetdata-bs-dismissquerySelectorAllbootstrap.ModalTypeError: Cannot read property 'ownerDocument' of undefineddocument.querySelectorAll('[data-bs-toggle="modal"]').forEach(el => new bootstrap.Modal(el))bootstrap.Modal.getInstance(el)document.querySelector('.modal').classList.add('show').hide()--bs-primarygetComputedStyle(document.documentElement).getPropertyValue('--bs-primary')document.documentElement.style.setProperty('--bs-primary', '#0d6efd').modal-backdrop--bs-primaryboundaryElementdocument.bodyoverflow: hiddenboundaryElement