
本文旨在解决从 Bootstrap 4 迁移至 Bootstrap 5 后,导航栏(n*bar)折叠功能失效的常见问题。核心原因在于 Bootstrap 5 对数据属性(`data-*` attributes)的命名规范进行了更新。通过将旧版 `data-toggle` 和 `data-target` 属性分别替换为 `data-bs-toggle` 和 `data-bs-target`,即可恢复导航栏的正常折叠行为。文章将提供详细的修改说明和示例代码,帮助开发者顺利解决此兼容性问题。
在前端开发中,Bootstrap 框架因其响应式设计和丰富的组件库而广受欢迎。然而,随着版本的迭代,API 和内部实现也会发生变化。从 Bootstrap 4 升级到 Bootstrap 5 时,开发者可能会遇到导航栏(N*bar)的折叠(collapse)功能失效的问题,即点击切换按钮后,导航菜单无法正常展开或收起。这通常是由于 Bootstrap 5 对 J*aScript 组件的数据属性(data attributes)引入了新的命名约定所致。
Bootstrap 5 为了避免与第三方库或自定义脚本的数据属性产生冲突,引入了 data-bs-* 前缀。这意味着所有由 Bootstrap J*aScript 组件控制的 HTML 元素,其相关的数据属性都需要从 data-* 更新为 data-bs-*。对于导航栏的折叠功能,主要涉及以下两个关键属性:
在 Bootstrap 5 中,它们需要相应地更新。
要解决 Bootstrap 5 导航栏折叠失效的问题,只需将 n*bar-toggler 按钮上的 data-toggle 和 data-target 属性更改为 data-bs-toggle 和 data-bs-target。
百度文心百中
百度大模型语义搜索体验中心
251
查看详情
具体修改如下:
以下是一个修正后的 Bootstrap 5 导航栏示例,展示了正确的属性用法:
<!doctype html>
<html lang="sr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=false, initial-scale=1">
<link rel="icon" href="{{ url_for('static', path='/images/f*icon.png') }}" sizes="32x32" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<title>N*bar Test</title>
</head>
<body>
<!-- 推荐使用 Bootstrap 5 官方推荐的 JS 引入方式,无需单独引入 jQuery 和 Popper.js -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>
<div class="container">
<n* class="n*bar n*bar-expand-lg n*bar-light bg-light">
<!-- 修正后的导航栏切换按钮 -->
<button class="n*bar-toggler collapsed" type="button"
data-bs-toggle="collapse"
data-bs-target="#n*barN*AltMarkup"
aria-controls="n*barN*AltMarkup"
aria-expanded="false"
aria-label="Toggle n*igation">
<span class="n*bar-toggler-icon"></span>
</button>
<div class="n*bar-collapse collapse" id="n*barN*AltMarkup">
<div class="n*bar-n*">
<a class="n*-item n*-link active" href="/">Home</a>
<a class="n*-item n*-link" href="/link1">Link 1</a>
<a class="n*-item n*-link" href="/link2">Link 2</a>
<div class="dropdown">
<a class="n*-item n*-link dropdown-toggle" href="#" role="button" id="dropdownMenuReports" data-bs-toggle="dropdown" aria-expanded="false">
Reports
</a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuReports">
<li><a class="dropdown-item" href="/reports/reminders">Reminders - Send</a></li>
<li><a class="dropdown-item" href="/reports/reminders?render_only">Reminders - Display Only</a></li>
</ul>
</div>
</div>
</div>
</n*>
</div>
</body>
</html>代码解释:
从 Bootstrap 4 迁移到 Bootstrap 5 时,导航栏折叠功能失效是一个常见的兼容性问题。通过将 data-toggle 和 data-target 属性分别更新为 data-bs-toggle 和 data-bs-target,可以有效解决此问题。理解 Bootstrap 5 的 data-bs-* 命名约定对于顺利升级和使用其 J*aScript 驱动组件至关重要。遵循这些指导原则,您可以确保您的 Bootstrap 5 导航栏及其它交互式组件正常工作。
以上就是解决 Bootstrap 5 导航栏折叠失效问题的详细内容,更多请关注其它相关文章!
# javascript
# 您可以
# 只需
# 也会
# 请检查
# 引入了
# 百中
# 适用于
# 推荐使用
# 是一个
# 您的
# 工具
# css
# java
# jquery
# html
# js
# 前端
# bootstrap
# npm
# 浏览器
# 前
# seo1家义
# 营销推广会预算经费
# 汕头花海网站建设费用
# 网站建设策划书题目
# 文水同城网站推广有吗
# 河南实力网站建设首选
# 盐山网站推广贵不贵
# 长沙宁乡网站建设
# 商业营销推广评估范例
# 网站推广报价企业
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
在Dash应用中自定义HTML标题和网站图标
POKI小游戏在线免费入口链接 POKI小游戏无下载秒玩玩
c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化
mysql镜像配置如何设置用户权限组_mysql镜像配置用户组与权限分级管理方法
手机自动关机是怎么回事?如何修复?手机异常关机的原因排查与修复技巧
Dash应用中自定义HTML页面标题与网站图标(F*icon)的实用指南
抖音火山版如何进行提现
漫蛙manwa官网浏览入口_漫蛙漫画网页版访问链接
照片整理的黄金法则是怎样的? 理解“收集-筛选-归档-备份”四步流程
c++如何实现一个简单的RPC框架_c++远程过程调用原理与实践
如何在mysql中比较InnoDB和MyISAM区别
使用Google服务账号实现Google Drive API无缝集成与文件访问
J*aScript 数值去小数位处理:多种方法与实践
Win11便笺在哪打开 Win11桌面便笺(Sticky Notes)使用方法【详解】
QQ邮箱注册地址 免费获取QQ邮箱账号
鲁班大师乓乓皮肤获取方法
win11如何开启单声道音频 Win11为听障用户合并左右声道【辅助】
修复UI元素交互障碍:从“开始”按钮到信息框的平滑过渡实现
realme 10 Pro息屏方案_realme 10 Pro省电策略
快递查询,一键速查
繁花漫画使用教程
偃武诸葛亮阵容搭配推荐
《蓝色星原:旅谣》坐骑获取攻略
@Team是什么?揭秘团队含义
Python类装饰器动态修改方法时的类型提示:Mypy插件实现精确静态分析
泰拉瑞亚水晶无法放置问题
win11关机几秒又自己开机 Win11关机自动重启问题修复
抖音赚钱快速入门_新手必看的抖音赚钱步骤
批改网网页版登录 批改网电脑版学生登录入口
如何在Golang中处理表单文件上传_Golang 表单文件上传示例
J*aScript类型数组_TypedArray使用
圆通快递包裹轨迹查询 圆通速递快件实时位置跟踪
抖音号显示企业机构号是什么意思?企业机构号申请条件是什么?
利用Flexbox实现图片元素的二维布局:2x2网格排列指南
解决CSS容器溢出问题:使用calc()实现精确布局与边距控制
小红书网页版首页入口 小红书网页版电脑端官方登录链接
哔哩哔哩在线观看入口 B站官网免费进入
申通快递物流信息查询 申通快递包裹状态追踪
PHP 4 函数中引用参数的默认值限制与解决方案
《oppo商城》维修服务位置
B站怎么开|直播| B站|直播|申请需要什么条件【新手必看】
sublime text 4如何安装_最新版sublime下载与汉化教程
Animex动漫社正版在线入口 Animex动漫社动漫官方观看网
使用jQuery精确检测除指定元素外任意位置的点击事件
Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】
Go语言中方法接收器的选择:值类型还是指针类型?
教资成绩怎么查询
Firefox OS应用开发:解决XMLHttpRequest跨域请求阻塞问题
高德地图怎么查看未来行程规划_高德地图未来行程规划查看方法
百度识图图像分析 百度识图识别平台
2025-11-30
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。