Ciao, stai creando gli id sempre uguali.
Lasciando da parte il fatto che potrebbero esserci modi migliori per creare robe del genere, questo è una bozza di esempio:
codice:
<div class="contenitore">
<div class="container">
<div class="row">
<div class="col-lg-2">
<div class="form-group">
<div class="input-group date">
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
<input class="form-control" />
</div>
</div>
<div class="col-lg-1">
<a href="javascript:nuovodiv('click');"><button type="button" class="btn btn-success" id="click"><span class="glyphicon glyphicon-plus"></span></button></a>
</div>
</div>
</div>
</div>
</div>
var c = 1;
function nuovodiv(nome) {
$('#'+nome).hide();
var id = nome.replace((c-1).toString(),'')+c.toString();
var link = "javascript:nuovodiv('"+id+"');"
c++;
$('.contenitore').append('<div class="col-lg-2"><div class="form-group"><div class="input-group date"><span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span><input class="form-control" /></div></div></div><div class="col-lg-2"><a href="'+link+'"><button type="button" class="btn btn-success" id='+id+'><span class="glyphicon glyphicon-plus"></span></button></a></div></div></div>');
}
in pratica non fai altro che creare l'elemento, aggiungere un progressivo all'id e impostare il nome corrispondente nel parametro della funzione, facendo in modo che il bottone con progressivo precedente venga nascosto quando ne viene creato uno nuovo.
Ma scusa non facevi prima a tenere un solo bottone? perché nascondere il precedente e crearne uno nuovo con la stessa funzione?