Какой метод ниже лучше всего подходит для пользователей?JavaScript: Добавление детей к элементу
В обоих примерах предположим, что thumbContainer
установлено на значение возврата document.getElementById('thumbContainer')
, а new Thumbnail(thumb).toXMLString()
возвращает строку с разметкой XHTML.
A) Просто +=
с thumbContainer.innerHTML
:
for (thumb in thumbnails) {
thumbContainer.innerHTML += new Thumbnail(thumb).toXMLString();
}
B) или преобразования new Thumbnail(thumb).toXMLString()
к элементам DOM и используя appendChild
?
for (thumb in thumbnails) {
var shell = document.createElement('div');
shell.innerHTML = new Thumbnail(thumb).toXMLString();
for (i = 0; i < shell.childElementCount; i++) {
thumbContainer.appendChild(shell.children[i]);
}
}
Я использовал оба и получаю жалобы от Firefox, что у меня есть давний сценарий, и я хочу, чтобы остановить его?
Какая петля менее жесткая, что позволит обновлять пользовательский интерфейс при добавлении новых элементов в DOM?
Я бы ожидал, что ваш пример не сработает, так как 'Thumbnail # toXMLString' * возвращает строку с разметкой XHTML в ней *. Таким образом, предоставленное имя тега в 'document.createElement (htmlCode)' не является допустимым именем. – yckart