Here you go
$(document).ready( function() {
$(".pfGrid li a").on("click", function(e) {
e.preventDefault();
// the problem seems to be in this line:
$(".pfInfo").slideUp("normal", function() { $(this).remove(); } );
//partially correct - when the slideUp animation, your previous function used to
// also remove the newly created .pfInfo element - hence the $(this) replacement
if( !$(this).hasClass("pfActive") ) {
$(".pfGrid li a").removeClass( "pfActive");
$(this).parent().append('<div style=\"display:none;\" class=\"pfInfo\">blaa<br /><br />bla<br />bla</div>');
$(this).next().slideDown();
//second change, again the $('.pfInfo') was replaced with .next()
$(this).addClass("pfActive");
}
else {
$(".pfGrid li a").removeClass( "pfActive");
}
});
});
Hope this brings some light on your matter
PS
Fiddle js is the way to go :D