bootstrap 5 折叠功能完全依赖 data-bs-toggle="collapse" 和 data-bs-target="#id" 正确配对,缺一不可;属性名写错(如漏 bs-)、id 大小写或空格不匹配、未引入 bootstrap.bundle.min.js 或 dom 未就绪均会导致静默失效。

data-bs-toggle 和 data-bs-target 写错就完全不工作
Bootstrap 5 的折叠逻辑完全依赖这两个属性被正确识别,写成 data-toggle 或 data-target(缺 bs-)时,JS 根本不会绑定事件——按钮能点击,但 DOM 没任何变化,控制台也无报错,极难排查。
必须严格使用:
data-bs-toggle="collapse"-
data-bs-target="#yourCollapseId"(ID 必须与目标元素的id属性值完全一致,大小写、连字符、空格都不能差)
常见错误示例:data-bs-target="#navbarSupportedContent "(末尾多一个空格)或 data-bs-target="#navbarsupportedcontent"(大小写不匹配)都会导致失效。
脚本没加载或加载顺序错,折叠功能直接消失
折叠是纯 JS 行为,只引入 CSS 文件是没用的。且 Bootstrap 5 的 JS 依赖 Popper(用于定位类组件),顺序和组合必须对。
推荐只引入一个文件:
- 用
bootstrap.bundle.min.js:它已内置 Popper,不要额外再引 Popper,否则控制台会报Popper is already loaded类错误 - 用
bootstrap.min.js:必须在它之前单独引入@popperjs/core,且版本要 ≥2.0
脚本标签务必放在











