Zapis do atrybutu data- * i pobieranie go za pomocą jQuery .data () [duplikat]

Możliwy duplikat:
jQuery .data () Nie aktualizuje DOM

Mam problem z używaniem atrybutu on. Napisałem mały zestaw metod wysyłania połączeń api.

Znaczniki są takie:

<div data-global-id="1318" data-action="unfollow" class="action text-as-link follow-btn btn" style="text-decoration: none;">unfollow</div>

i przechwytywanie zdarzeń w ten sposób:

$(document).on('click','.action', function(){
  var t={};
  t.args={};
  t.args.global_id=$(this).data('global-id');
  t.global_id=t.args.global_id;
  t.action=$(this).data('action');
  t.identifier=t.action + '_v2';
  alert('here is action: ' + t.action);
  api_post_v1(t);
});

Api_post_v1 poprawnie wysyła połączenie.

Jest jakiś kod do obsługi wywołania zwrotnego i ustawia on znacznik na:

<div data-global-id="1318" data-action="follow" class="action text-as-link follow-btn btn" style="text-decoration: none;">follow</div>

Kod do tego jest następujący:

$foo=$('.action[data-action=unfollow][data-global-id='+global_id+']');
$foo.attr('data-action','follow');

Kluczowym elementem jest akcja danych. Chciałbym, aby powyższe wezwanie do obsługi zdarzeń powiedziało, że jest „obserwuj”, ale mówi, że nadal jest „nie obserwowane”.

Sekwencja jest następująca:

załaduj stronę, data-action = 'unfollow'kliknij to, wywołanie api zostanie wykonane i nie śledzisz tego użytkownika; zestawy wywołań zwrotnych data-action = 'follow'kliknij tę wartość ponownie, a akcja danych zostanie wyświetlona jako „nieprzestrzeganie” zamiast „obserwuj”

Jak mogę powiedzieć jQuery, aby odświeżyć powiązania tego wydarzenia? Myślałem, że to właśnie robi $ (dokument) .on.

dzięki

questionAnswers(1)

yourAnswerToTheQuestion