Hola,
 
Cuando haces esto:  
Código:
 var c = $(this).attr('cita');
var d = $(this).attr('id');
  Si existe ese atributo, se guarda en las variables "c o d" respectivamente, si les haces un alert podras ver que te traen, y segun el valor que tengan deberias trabajar, es decir, si viene algo en esas variables es porque existe o no el atributo y luego deberias condicionar, por ejemplo  
Código:
 if (typeof(d) == "undefined")
{
   alert("hola, no estoy definido");
}
else
{
  alert("hola, tengo datos y son: "+d);
}
  Lo unico que estamos diciendo ahi, es que si el contenido de "d" es de tipo indefinido, entonces muestra un alert. 
Saludos