You're doing it wrong, and you don't need to use live. I tested this, and it works:
var $results = $('#ajaxSearchResults'); $('<span></span').text('(close)').appendTo($results).click(function(){ $(this).parent().hide('slow'); }); First we cache the #ajaxSearchResults into a var. Then we create an empty span, add some text to it, and then append it to our cached div. Then we add a click action to it, and tell it that it should hide it's parent, when clicked.