Ответ 1
Я предпочитаю этот метод, у вас будет больше контроля над элементами, потому что они останутся в виде объектов и, таким образом, легче вставлять в функции.
sighting = document.createElement('div');
Затем вы можете манипулировать так, как если бы он уже был частью DOM
$(sighting).addClass("feed_name").html(name);
$(sighting).appendTo("#sighting");
ИЗМЕНИТЬ
Хм... похоже, я неправильно понял ваш вопрос. Я бы предпочел сделать элементы с помощью функции createElement()
.
sighting = document.createElement('div');
sighting_contents = document.createElement('span');
$(sighting_contents).addClass("feed_name").html(name);
$(sighting).append(sighting_contents);
$(sighting).appendTo("#sightings");
Немного более подробный, но вы можете поместить последние три в одну длинную строку, если хотите... Я думаю, что это более читаемо и в конечном итоге дает вам больше контроля, потому что технически вы не должны писать кучу HTML в js, вы можете создавать элементы и добавлять их, но, если писать большие блоки разметки, я думаю, что создание элементов в виде объектов, подобных этому, дает вам большую гибкость.
Вы также можете присоединить события к элементам, добавленным следующим образом:
$(sighting).bind("click", function(event) {
$(this).fadeOut();
});