Моя цель состоит в том, чтобы вместо заполнения группы div длинным списком элементов перемещать этот div каждый раз, когда происходит событие щелчка.
<div data-target="group1">
<div id="common-element">Move me</div>
<div class='list'>List 1</div>
</div>
<div data-target="group2">
<div class='list'>List 2</div>
</div>
<div data-target="group3">
<div class='list'>List 3</div>
</div>
...
...
$(document).on('click', '.list', function(){
$('#common-element').detach().appendTo($(this).parent());
});
Теперь все выглядит нормально, так как #common-element меняет местоположение каждый раз, когда я нажимаю на любой из элементов .list.
Через некоторое время мне пришлось сделать:
console.log($('#common-element').parent().data('target'));
И начинается проблема. .data('target') всегда возвращает group1 даже после того, как #common-element уже перемещен в другую группу. Очевидно, что несмотря на то, что detach() и appendTo() произошли, состояние самого #common-element осталось позади.
Мой вопрос: есть ли способ обновить состояние #common-elements?
.detach()
, потому что.appendTo()
сам по себе будет перемещать элемент. - person nnnnnn   schedule 14.06.2017