That is because context selector doesnt work in the .append()
. The fastest solution (not optimal) is to recreate a new jQuery object :
$('.red', this).clone().appendTo($('.blue', this));
Fiddle : http://jsfiddle.net/4T52A/3/
Here an optimal solution :
$('.grey').each(function () {
var $this = $(this);
$this.find('.red').clone().appendTo($this.find('.blue'));
});