阅读 169

jQuery 数据缓存 data()

本篇文章给大家介绍本人最常用到的jQuery方法之一 **(select).data(key,value)∗∗——这是jQuery提供的数据缓存方法。与之对应的方法是(select).data(key,value)** ——这是jQuery提供的数据缓存方法。与之对应的方法是(select).data(key,value)jQuery(select).removeData(name) 我好像还从来没使用过该方法,回归本文章主题,下面介绍本人在使用该方法的姿势:

<!-- html -->
<input type="button" id="btn1" data-name="张三" data-age="19" value="查看详情" />

<!-- js -->
$("#btn1").click(function () {
    console.log($(this).data("name"));  //张三
    console.log($(this).data("age"));   //年龄
    $(this).data("age",22);     //自定义属性age值修改为22
    console.log($(this).data("age"));   //22
});复制代码

上面的示例用到了HTML5 的自定义属性 data-* 对于不支持HTML5的低版本浏览器,您也不需要担心不兼容问题。可以放心使用。该方法支持传递两个参数,key和value 当只传递key参数时表示获取属性,传递value参数时表示设置属性,这是jQuery方法一贯使用方式,很是方便。

从上面示例好像还是看不出有多大的作用,于是我不丝毫不吝啬的再写了一个示例,请往下看

设当前有一个数据列表,每个列表都有一个【详情】按钮,当前点击按钮后,通过ajax请求该数据的详细信息,代码如下:

<!-- html -->
<input type="button" data-uid="101" value="详情"></input>
<input type="button" data-uid="104" value="详情"></input>
<input type="button" data-uid="105" value="详情"></input>
<input type="button" data-uid="107" value="详情"></input>

<!-- js -->
$("input").click(function () {
    var uid=$(this).data("uid");  //缓存当前用户id
    //提示正在查询中
    $.post("getUserInfo",{
        userId:uid
    },function (res) {
        //请求成功后的回调,详细的数据展示
    });
});复制代码

这个示例充分的展示了本篇文章所介绍的方法的使用。举一反三,能举的栗子还有更多,如:的页面切换,页面滚动条滚动的位置等。

如果您是一个jQuery插件开发者,您一定会对该方法情有独钟,如果您还没有使用过,那赶紧去尝试吧,相信你也会爱上她!


作者:黄河爱浪
链接:https://juejin.cn/post/7028131504597237797


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐