HTML5中 data-*属性的实际用途

本文探讨了如何在HTML5中利用data-*属性优化数据传递,特别是在前端分页展示和按钮点击事件中。传统的做法是通过隐藏字段或value属性存储数据,但这种方法可能导致冗余。现在,可以通过在元素上直接设置data-*属性,如data-time,然后使用JQuery的$(this).data('time')方法获取数据,减少代码冗余。然而,要注意的是,data属性名称必须小写,以避免无法正确获取值。对于使用Vue等新框架的开发者来说,这种方法更加便捷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章 适用于还在使用二代框架(JQ 、zepto)等框架开发的人员~~

有些时候我们在做分页展示的时候后台会给我们一个JSON数组比如这样的数据

[
    {
        "activityId": "ACT_JAN_INVITE",
        "name": "aaa",
        "id": 6679,
        "jul2017Id": 0,
        "status": 0,
        "type": 2,
        "updateTime": {
            "date": 16,
            "day": 6,
            "hours": 0,
            "minutes": 30,
            "month": 11,
            "seconds": 46,
            "time": 1513355446000,
            "timezoneOffset": -480,
            "year": 117
        },
        "userId": 1999113
    },
    {
        "activityId": "ACT_JAN_INVITE",
        "discountMny": 0,
        "id": 6822,
        "name": "bbb",
        "status": 0,
        "type": 1,
        "updateTime": {
            "date": 16,
            "day": 6,
            "hours": 0,
            "minutes": 32,
            "month": 11,
            "seconds": 48,
            "time": 1513355568000,
            "timezoneOffset": -480,
            "year": 117
        },
        "userId": 1999113
    }
]

前端 只需要展示 userId和name里面的值 我们循环拼接字符串就可以了
现在有个需求,要求在点击每一行中的一个按钮的时候进行数据查找,然后跳转到一个详情页面,
后台查询数据需要两个参数
userId 和updateTime.time(实际可能需要的更多)

之前我们会这样 在每行中加入

<input type="hidden" value=""></input>

value会拼入我们需要的值,之后会用JQ取到传给后台
如果hidden的值很多 很造成冗余

现在可以这样

<button type="button" data-time=""></button>

把变量拼入button中
之后可以在点击的时候通过
$(this).data(“time”)(JQ的写法,这里有个小坑,我们平时写变量名可能会用到骆驼命名法比如,creatTime,但是都必须是小写 用大写是取不到值的)
获得想要的值,可以节省很多冗余代码,

不过如果用vue之类的就更省事,还是来多学习学习新框架吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值