$(".remove").bind('click',function(event){
event.preventDefault();
alert($(this).attr('href'));
return false;
});
UPDATE по обновленному вопросу:
Ты функцию вызываешь где-то потом, а биндишь сразу, вот так попробуй:
function renderCand (data) {
$("a#countCandidates > span.badge").text(data.length);
$("#listCandidates").empty();
data.forEach(function(item){
$("#listCandidates").append('<tr>'+
'<td>'+item.id+'</td>'+
'<td>'+item.name+'</td>'+
'<td>'+
'<a href="#" class="thumbnail">'+
'<img src="http://placehold.it/140x100" alt="...">'+
'</a>'+
'</td>'+
'<td>'+item.description+'</td>'+
'<td>'+
'<div class="btn-group" role="group" aria-label="...">'+
'<a href="'+Routing.generate("candidates_delete",{id: item.id})+'" class="btn btn-xs btn-danger remove"><i class="fa fa-trash-o"></i></a>'+
'<a href="#" class="btn btn-xs btn-warning"><i class="fa fa-edit"></i></a>'+
'</div>'+
'</td>'+
'</tr>');
});
$(".remove").bind('click',function(event){
event.preventDefault();
alert($(this).attr('href'));
return false;
});
}