jQuery Mobile 的 data- 属性是其核心所在!它使你在几乎不需要编写 CSS 和 JavaScript 的情况下,就能创建一个外观类似于原生应用程序的移动网页。以下是截至 2025 年仍然最全面、最实用的 jQuery Mobile data- 属性快速参考表 + 实战技巧(基于 1.4.5 版本,该版本最为稳定)。
一、核心全局 data-*(最常用 Top 10)
| 属性 |
可选值 |
作用说明 |
推荐指数 |
| - |
定义一个页面(必需) |
★★★★★ |
data-role="page"
|
| - |
固定顶部栏 |
★★★★★ |
data-role="header"
|
| - |
主要内容区域(可选) |
★★★★ |
data-role="content"
|
| - |
固定底部栏 |
★★★★★ |
data-role="footer"
|
| - |
自动美化 ul/li 为列表 |
★★★★★ |
data-role="listview"
|
| - |
a/input/button 自动变为美观按钮 |
★★★★★ |
data-role="button"
|
| - 或 - |
a-z 切换主题颜色(a=黑色 b=灰色) |
★★★★★ |
data-theme="a"
"b"
|
| - |
20+ 种图标(如 home, plus, delete...)为按钮添加图标 |
★★★★★ |
data-icon="home"
|
| - |
fixed header/footer 固定顶部或底部 |
★★★★★ |
data-position="fixed"
|
| - |
slide/fade/pop/slidedown...(共8种)页面过渡动画 |
★★★★★ |
data-transition="slide"
|
二、页面专属 data-*(非常实用)
| 属性 |
可选值 |
说明 |
| - |
任意文本 |
动态设定浏览器标题和返回按钮文字 |
data-title="标题"
|
| - |
任意字符串 |
自定义哈希值,便于使用 changePage 方法 |
data-url="page1"
|
| - |
true/false |
自动添加返回按钮 |
data-add-back-btn="true"
|
| - |
任意文本 |
自定义返回按钮文字 |
data-back-btn-text="返回"
|
| - |
true |
全屏模式(仅限 iOS,隐藏状态栏) |
data-fullscreen="true"
|
| - |
true |
以对话框形式展示页面 |
data-dialog="true"
|
三、控件专属 data-*(常用 20+)
| 控件类型 |
属性示例 |
说明 |
| Listview |
- |
圆角内嵌列表 |
data-inset="true"
|
| Listview |
- |
自动添加搜索框 |
data-filter="true"
|
| Listview |
- |
分组标题主题 |
data-divider-theme="a"
|
| Listview |
- |
每行右侧显示小图标按钮 |
data-split-icon="delete"
|
| Button |
- |
按钮内联(不占用整行) |
data-inline="true"
|
| Button |
- |
去除圆角效果 |
data-corners="false"
|
| Button |
- |
仅显示图标,不显示文字 |
data-iconpos="notext"
|
| Navbar |
- |
底部/顶部选项卡 |
data-role="navbar"
|
| Collapsible |
- |
默认展开状态 |
data-collapsed="false"
|
| Collapsible |
- |
展开时的图标样式 |
data-collapsed-icon="arrow-d"
|
| Slider |
- |
轨道高亮显示 |
data-highlight="true"
|
| Flip Switch |
- |
滑动开关控件 |
data-role="flipswitch"
|
| Popup |
- |
弹出层组件 |
data-role="popup"
|
| Popup |
- |
背景遮罩的主题 |
data-overlay-theme="b"
|
| Popup |
- |
点击外部不关闭弹窗 |
data-dismissible="false"
|
四、2025 年实战中最具实用性的组合用法(直接复制)
<!-- 1. 固定顶部和底部 + 返回按钮 + 主题 -->
<div data-role="page" id="home" data-theme="a" data-title="首页">
<div data-role="header" data-position="fixed" data-add-back-btn="true" data-back-btn-text="返回">
<h1>我的应用</h1>
</div>
<div role="main" class="ui-content">
<!-- 2. 包含搜索功能 + 分隔线 + 右侧删除按钮的列表 -->
<ul data-role="listview" data-inset="true" data-filter="true"
data-filter-placeholder="搜索任务..." data-split-icon="delete" data-split-theme="a">
<li data-role="list-divider">今天</li>
<li><a href="#detail">开会讨论需求</a><a href="#">删除</a></li>
<li><a href="#detail">编写代码</a><a href="#">删除</a></li>
</ul>
<!-- 3. 按钮组 -->
<div data-role="controlgroup" data-type="horizontal" class="ui-mini">
<a href="#" class="ui-btn ui-icon-plus ui-btn-icon-left" data-inline="true">新增</a>
页面切换动画(共8种)
以下是jQuery Mobile提供的多种页面切换动画效果:
若需反向操作,可在链接中添加 data-direction="reverse" 属性,例如:从左侧返回
2025年开发jQuery Mobile项目的必备技巧
在2025年进行jQuery Mobile项目开发时,有几点关键事项需要注意:
- 确保页面响应式布局,使用元标签
<meta name="viewport" content="width=device-width, initial-scale=1">。
- 每个页面应包含在
<div data-role="page"> 标签内。
- 为了保持导航条或工具栏始终可见,设置
data-position="fixed" 属性。
如果希望加快页面切换速度,可以通过禁用动画来实现,设置全局变量 $.mobile.defaultPageTransition = "none";。
要更改默认的主题颜色,可以使用 $.mobile.activePageTheme = "b"; 来为所有新页面应用主题“b”。
当动态创建控件后,记得调用 refresh 方法更新其样式,例如 $("#mylist").listview("refresh"); 和 $("#myslider").slider("refresh");。
以上内容加上示例表格,足以让你在2025年的任何旧项目中游刃有余!如果你需要以下资源,请直接告知我,我会立即打包发送给你:
- “jQuery Mobile data-* 属性快速参考表(PDF/图片版)”
- “100个经典 data- 属性组合模板”