Bootstrap 中data-[*] 属性的整理

【1 data-属性】

data属性是HTML5的新属性。允许开发者自由为其标签添加属性.存储数据,这种自定义属性一般用“data-”开头。

存储的(自定义)数据能够被页面的 JavaScript 中利用。

data-* 属性包括两部分:

  1. * 属性名不应该包含任何大写字母,并且在前缀 “data-” 之后必须有至少一个字符。
  2. * 属性值可以是任意字符串。

说直白点就是data属性的应用,让HTML标签可以隐式的附带一些数据,而javascript就可以对这些属性数据进行 读/写 操作,进而可以做出相应的动作和事件。

【2 Bootstrap 中的data属性】官网有一段介绍说 你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码。这是 Bootstrap 中的一等 API,也应该是你的首选方式。

以前我们使用原生的javascrpt时候,是先确定了前端样式布局以及交互事件,然后在去利用javascript以及HTML的DOM树去操作已经存在文本对象,从而实习动态效果等交互。

后来facebook公司就发现,很多基本网页上效果是比较常用也是使用频繁的,比如下拉菜单、折叠、模态框等等。为什么不把这些常用的提取出一套标准模型,然后制定出使用规则,使用时按照这些规则直接拿来使用就可以了,于是就诞生了bootstrap。

说白了,以前是先有功能需求,再去实现。现在是功能都基本给你覆盖了,js操作函数都已经写好了,css样式也已经写好,你想使用就直接按照他的规则调用就行。然后为了能更多样化,bootstrap.js中的函数可以有不同的参数值,这些参数值就是根据你给标签的属性来设置的。(其实现在js插件基本都是这个套路)

标签的class="xxx" 属性,主要是用来使用bootstrap的css样式,以及作为一个可识别对象对象的类名标识。

标签的data-[xx]="yy"属性,主要是用来使用和调用bootstrap的组件和插件,即使用bootstrap.js来实现一些交互效果。

【3 Bootstrap 常见data属性】

1 data-toggle data-toggle指以什么事件类型触发,常用的如下。

data-toggle="dropdown"//下拉菜单
data-toggle="model" //模态框事件
data-toggle="tooltip"//提示框事件
data-toggle="tab"//标签页
data-toggle="collapse"//折叠
data-toggle="popover"//弹出框
data-toggle="button"//按钮事件

一般事件会作用到一个标签对象,如果是其他标签对象,就需要使用data-target指事件的标签目标。所以data-loggle和data-target有时会结合一起使用。如下

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
 开始演示模态框
</button>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 <div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
     ×
    </button>
    code。。。
   </div>
  </div><!-- /.modal-content -->
 </div><!-- /.modal -->
</div>

2 data-dismiss

常见的是在模态窗口中用于关闭模态窗口 data-dismiss=”modal”

3 data-slide-to、data-slide、data-ride

data-slide-to、data-slide、data-ride用于轮播图carousel。

属性 data-slide接受关键字 prev 或 next,用来改变幻灯片相对于当前位置的位置。

   使用 data-slide-to 来向轮播传递一个原始滑动索引,data-slide-to="2"将把滑块移动到一个特定的索引,索引从 0开始计数。

   data-ride="carousel" 属性用于标记轮播在页面加载时就开始动画播放

总结