trim()
должен их убирать.preg_replace('/^[\s\r\t]+/', '', $str);
и точно ли пробелы находятся в строке, а не в самом html? Например, после некоторых шаблонизаторов остаются такие следы. Попробуйте var_dump($str);
и всё сразу будет понятно. потому что на подгруженных элементах это событие не работает
$('#changereader').load('/ajax/getreaderlist')
$.get('/ajax/getreaderlist', {}, function(data){
$('#changereader').empty();
$(data).find(need_element).click(you_function);
$('#changereader').html(data);
});