2

ボタンをクリックしたときに 2 つのデータ属性を連結しようとしていますが、最初の文字列の前に文字列を追加する代わりに、それらを 1 つにマージする方法を考えています。

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 に答える