不少JS插件里都使用了$(selector).data()方法,它的意思是收集指定元素上的全部以data-开头的自定义属性,并合并成为一个对象字面量。动画
对于以data-开头的自定义属性,相信你们都知道它是HTML5新支持的语法。好比:
<div id="abc" data-role="aaa" data-toggle="toggle" data-xxx="tom"></div>插件
若是要获取data-role里aaa这个值,则须要调用以下代码:
$("'#abc").data("role");对象
若是是不带参数的$("'#abc").data();,则表示一次性将全部以data-开头的参数都收集起来,其结果和用以下方式声明一个value变量是同样的。
var value = {
role: 'aaa',
toggle: 'toggle',
xxx: 'tom'
};事件
Bootstrap中的不少JS插件都是利用了这个特性,在HTML元素上定义了一些必要的参数,好比要不要使用动画、是否开启键盘事件等。你们在分析JS插件的option选项参数时便可看到各个参数的详细解释。io