Bueno, desconozco el uso de one(), pero en lo que se refiere a un bucle each... no tenes alguna experiencia previa? Tomando tu codigo original, sería así:
Cita: pocimas_rojas = $("div.pocima_roja"); // esto es un array siempre y cuando haya más de un div.pocima_roja .
$.each(pocimas_rojas, function() {
$(this).click(function () {
$("#c_red").animate({ height: "35%",}, 1500 );
$(this).hide(500, function () { $(this).remove(); });
});
});
http://api.jquery.com/jQuery.each/
Se puede pulir, pero la logica es que a cada div.pocima_roja se le adjudica la función onclick. Lo importante es que entiendas la lógica del bucle.
Lo probas?
Si funciona, lo que falta es una comprobación para saber si se trata de un array o no, porque si solo tuvieses un div... entonces el each no funcionaría.