thymeleaf页面中使用data-*自定义属性

转载麦洛:thymeleaf页面中使用data-*自定义属性

一.前言

在我们平时使用thymeleaf时,经常会用到th:each标签来循环遍历数据,以便将数据展示到页面中。尤其在后台管理软件比较常见。试想我们要给循环遍历出的每个元素都绑定点击事件,那我我们点击某一个按钮时,如何将这个按钮从所有按钮区分出来?这里我们就要用到自定义属性。
首先我们来看一个应用场景:
在这里插入图片描述

图片来源网络

微信投票需求中,我们在页面中就可以th:each标签来将所有用户的投票信息遍历展示出来,点击某个用户头像,需要跳转到个人报名信息页面.那么我们怎么区分点击的是哪个用户,这里我们就需要用到自定义属性.

二.data-*自定义属性语法

格式:data-*

1.自定义单个属性

<div th:attr="data-id=${element.getId()}" >

    2.自定义多个属性

    <div th:attr="data-id=${element.getId()},data-name=${element.getN‌​ame()}">
    
     
     

      我们来解释下上面的代码,其中data-id/data-name就是自定义的属性,在自定义属性中,我们可以传递需要的参数。

      三.获取自定义属性值

      下面我们演示如何使用Jquery在js文件中获取我们的自定义属性值.

      首先我们需要将刚才的代码修改一下,将当前点击的按钮的this传递过去

      <div th:attr="data-id=${element.getId()}"  th:οnclick="doVote(this)">
      
       
       

        接下来我们需要在页面的js中写一个对应的方法doVote(),用that来接受我们传递的this;

        function doVote(that) {
            }
        
         
         

          最后我们可以用Jquery语法来获取我们自定义属性

          unction doVote(that) {
              var userId = $(that).attr('data-id');
              }
          
           
           

            说明:网上也有不传递this的写法,但是我没有测试成功,以上方法经测试一切正常;

            四.结果

            在这里插入图片描述
            运行代码,我们发现成功获取到当前点击用户的id,接下来我们可以根据此id来操作后续流程;

            评论
            添加红包

            请填写红包祝福语或标题

            红包个数最小为10个

            红包金额最低5元

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

            抵扣说明:

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

            余额充值