jQuery.data()方法
实例
在 div 元素上先存储再获取数据
<div>
存储的值为
<span></span>
和
<span></span>
</div>
<script>
$(function () {
var div = $( "div" )[ 0 ];
jQuery.data( div, "test", {
first: 16,
last: "pizza!"
});
$( "span:first" ).text( jQuery.data( div, "test" ).first );
$( "span:last" ).text( jQuery.data( div, "test" ).last );
})
</script>
尝试一下 »
定义和用法
$.data() 函数用于在指定的元素上存取数据,返回设置值。
提示: 1.这是一个底层方法,.data() 方法更方便使用。
2.通过 data() 函数存取的数据都是临时数据,一旦页面刷新,之前存放的数据都将被移除。
3. 该方法目前并不提供在XML文档上跨平台设置,Internet Explorer不允许在XML文档中通过自定义属性附加数据。
语法
用法一
$.data( element, key, value )
注意: 1.通过data()函数存取的数据都是临时数据,一旦页面刷新,之前存放的数据都将被移除。
2. undefined 是一个没有被识别数据值。调用 jQuery.data( el, "name", undefined ) 将返回对应的 "name" 数据,等价于 jQuery.data(el, "name" ) 。
我们可以在一个元素上设置不同的值,并获取这些值:
jQuery.data(document.body, 'foo', 52); jQuery.data(document.body, 'bar', 'test');
用法二
$.data( element, key )
我们可以在一个元素上设置不同的值,并获取这些值:
alert(jQuery.data( document.body, 'foo' )); alert(jQuery.data( document.body ));
参数 | 描述 |
---|---|
element | Element类型 要存储数据的DOM对象 |
key | 可选。String类型 指定的键名字符串。 |
value | 可选。 Object类型 需要存储的任意类型的数据。 |
更多实例
获取数据
获取存放在元素上名叫 "blah" 的数据。
羊羊萌萌哒
iam***l@163.com
由于 JavaScript 是弱类型语言,.data() 获取到的值的类型会自动转化。
比如有一个版本模块,版本标签为 1.0。
采用 data() 方法,我们希望获取到的是版本标签值为 1.0。
但实际上 $('.version').data('tag') 获取到的结果为 1,而不是 1.0。
那么如何获取到正确的版本号呢,我个人采用的是 .attr() 方法。
var version_tag = $('.version').attr('data-tag') // 该表达式获取的值为 1.0
如此一来,似乎没有用 data 属性的必要了。
羊羊萌萌哒
iam***l@163.com