很多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元素上定义
了一些必要的参数,比如要不要使用动画、是否开启键盘事件等。