jQuery合并数据属性

时间:2013-06-17 03:20:32

标签: javascript jquery merge attr

当我点击一个按钮时,我正在尝试连接两个数据属性,我想知道如何将它们合并为一个而不是在第一个之前添加字符串,

HTML

<div id="parent">
    <button class="first" data-first='{"id":"1"}'>Test</button>
    <button class="second" data-second='{"action":"0"}'>Test</button>
</div>

当我点击带有data-first

的按钮时,我想将data-second.first合并

的jQuery

$('.parent').on('click', '.first', function() { 

    var old = $('.second').attr('data-object');

    var add = $(this).attr('data-object');

    $('.second').attr('data-object', add+old);

});

但是这会返回

data-second="{"id":"1"}{"action":"0"}"

我正在寻找的是

data-second="{"action":"0","id":"1"}"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

$('.second').data('object', $.extend({}, add, old));

http://api.jquery.com/jQuery.extend/

有一种方便的方法可以处理jquery中的data-属性:http://api.jquery.com/data/

演示:http://jsfiddle.net/CqrwF/