
bootstrap 5 废弃了 v4 中的 `data-toggle` 和 `data-target` 属性,改用 `data-bs-toggle` 和 `data-bs-target`,若未更新这些属性,模态框将完全失效。
在 Bootstrap 5 中,为增强命名空间隔离性与框架可维护性,所有 JavaScript 触发的 data 属性均统一前缀为 data-bs-。这意味着你不能再使用 Bootstrap 4 风格的 data-toggle="modal" 或 data-target="#myModal" —— 它们在 Bootstrap 5 中已被完全移除,不会触发任何行为,控制台也不会报错,导致模态框“静默失效”。
✅ 正确写法(Bootstrap 5):
Doesn't have an account yet? Create an account
⚠️ 注意事项:
- 确保已正确引入 Bootstrap 5 的 CSS 与 JS(推荐使用官方 CDN,且 JS 必须在 DOM 后加载或置于 body 底部);
- data-bs-dismiss="modal" 用于关闭按钮,同样不可写作 data-dismiss;
- tabindex="-1" 仍需保留,以支持键盘焦点管理;
- 若使用 jQuery:Bootstrap 5 完全移除了 jQuery 依赖,因此无需引入 jQuery,也不支持 $('#myModal').modal('show') 等 jQuery API —— 应改用原生 JavaScript 实例方法(如 new bootstrap.Modal(document.getElementById('...')).show())。
? 小结:从 Bootstrap 4 升级至 5 时,务必全局搜索替换 data-toggle → data-bs-toggle、data-target → data-bs-target、data-dismiss → data-bs-dismiss,这是最常见也最容易被忽略的兼容性陷阱。一次替换,立解模态框不显示之困。










