.html и .append - это не просто строковые функции, они работают в DOM.
$("#result").html("<table>")
помещает таблицу в элемент #result. Поскольку не указано ни одной строки, это пустая таблица (<table></table>
). Затем ваш .append пытается поставить строку после этой таблицы.
Таким образом, вместо добавления к содержимому #result, вы хотите добавить к создаваемой таблице:
$("#result > table").append('<tr><td class="singleresult" valign="middle">' + SightsList[i]+ ' ' + '<img src="/images/balloon.gif" rel="'+ i +'" class="balloon_img" /></td></tr>');
и удалите вашу попытку добавить тег конечной таблицы.