Немного сложно это всё вот так воспринять без конкретного примера, поэтому просто предложу немного поправить код.
$('.dropdown-toggle').parent().find('.dropdown-element').click ->
$(@).parents('.btn-group').find('.dropdown-toggle').text(@textContent)
attr = $(@).data('attribute')
console.log('undef') unless $('.container').data(attr)
container_data = $('.container').data(attr) || new Object
change = $(@).data('change')
place = $(@).data('place')
if place
container_data[place] ||= new Object
container_data[place][change] = $(@).data(change)
else
container_data[change] = $(@).data(change)
$('.container').data(attr,container_data)
Можно еще парой комментов снабдить и уже намного лучше будет :)
Не гарантирую, что все правильно, поскольку нет возможности проверить, но, наверное, как-то так.