2

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

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"}"

任何帮助将不胜感激。

4

1 回答 1

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

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

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

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

于 2013-06-17T03:22:35.813 回答