Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2018, 11:38
Новичок на форуме
Отправить личное сообщение для 7Feniks7 Посмотреть профиль Найти все сообщения от 7Feniks7
 
Регистрация: 22.03.2018
Сообщений: 9

как правильно добавлять динамически элементы в дом?
Здравствуйте!.
Получаю данные из базе и передаю их в js:
<?= "<script> testFunction(" . $data . ")</script>"?>

Интересует, это самый плохой вариант?. Есть ли лучший вариант?(без AJAX).

Дальше я вывожу его на странице и столкнулся с вопросом, а правильно ли это?
Вопросы о том, почему я это не делаю в php, ответ: не хочу нагружать сервер циклами или чем то другим.

Вариант 1:
function testFunction(data){
   let list = "";
   for(let n = 0, lengthN = data.length; n < lengthN; n++){
     list +="<li><a href=\"#\">test "+n+"</li>";
   }
document.getElementsByClassName("menu")[0].innerHTML = list;
}

Искал информацию за innerHTML встретил много за и против..

Вариант 2:
использовать appendChild().

Что лучше использовать в таком случае? (без использование сторонних
библиотек).
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2018, 12:07
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

innerHTML в современном мире ничем не хуже appendChild, тем более на больших кусках кода.
А вот на счёт "не нагружания" сервера циклами - это перебор. PHP для того и предназначен. Разницы меж тем, что выделаете сейчас, и php-циклом, выводящим сразу html, сервер вообще не заметит.)
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2018, 12:20
Новичок на форуме
Отправить личное сообщение для 7Feniks7 Посмотреть профиль Найти все сообщения от 7Feniks7
 
Регистрация: 22.03.2018
Сообщений: 9

Спасибо за ответ!)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно искать элементы в DOM и записывать результаты в массив? MouseOver Events/DOM/Window 8 25.10.2016 12:36
Ext.data.Store: Как правильно отключить сортировку при группировке? khusamov ExtJS 0 20.05.2016 17:23
Json и как его правильно кушать (Help plz!) JohnyVoo Angular.js 2 04.05.2016 19:55
Как правильно прицепить обработку события slowklg Events/DOM/Window 6 15.03.2012 16:20
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14