В настоящее время у меня есть цикл, который обновляет DOM в каждой итерации; Я узнал, что это плохая практика, и вы должны как можно меньше обновлять DOM для лучшей скорости.
Так что мне было интересно, как мне отредактировать нижеприведенное, чтобы я мог сохранить все элементы в одном элементе или что-то еще, а затем сделать одно добавление DOM, как только цикл закончится.
Вот цикл ..
for (var i = spot; i < spot + batchSize && i < cats.options.length; i++) {
// Check if the cat is selected
if (cats.options[i].selected == true) {
// Set this category's values to some variables
var cat_id = cats.options[i].getAttribute('value');
var cat_name = cats.options[i].text;
if (checkCatSICAdd(cat_id) === false) {
// Now we create the new element
var new_option = document.createElement('option');
// Add attribute
new_option.setAttribute('value',cat_id);
// Create text node
var new_text_node = document.createTextNode(cat_name);
// Append new text node to new option element we created
new_option.appendChild(new_text_node);
// Append new option tag to select list
sel_cats.appendChild(new_option);
} else {
failed++;
}
}
}