有许多场景可能用到传值,比如修改table中某一列的信息时,我们需要在点击修改按钮的时候,获取到这一列的数据,然后赋值到修改信息的弹出框里面。
我刚开始用的是下面的方法,把值用data-属性保存下来,通过e.target.dataset获取
<button class="btn" data-id='1' data-name='2'>修改</button>
但这种方法的话有个弊端,假如数据量很大的话,我们需要写很多的data属性,看起来很不友好,我想到另外一种方式,把想要的数据直接放到一个对象里面
<button class="btn" data-json='{"id":"1","name":"zhangsan"}'>详细</button>
但是当我用e.target.dataset.json获取的时候,得到的却是一个字符串,并不是我想要的对象,后来看了看别人的例子,可以这样获取
$('.btn').on('click', function() {
let json = $(this).data('json')
})
这样获取到的就是我们想要的对象了