Как в аргумент insertAdjacentHTML вставить переменную

Есть строка кода, с помощью которой, я могу вывести скрытый текст

result.insertAdjacentHTML("beforeend", "<div id=block_id style=display: none>Скрытый текст</div>");

Вместо Скрытый текст, мне нужно вставить таблицу, т.е

result.appendChild(table);

Вставить result.appendChild(table) вместо текста не удаётся, как и засунуть это в переменную. Просьба помочь!


Ответы (1 шт):

Автор решения: Grundy

.insertAdjacentHTML вторым параметром принимает строку и если вставляется простой html элемент без каких либо обработчиков событий - достаточно взять его .outerHTML и вставить значение в собираемую строку, например с помощью template literals

result.insertAdjacentHTML("beforeend", `<div id='block_id' style='display: none'>${table.outerHTML}</div>`);

Либо добавить сначала пустой элемент

result.insertAdjacentHTML("beforeend", `<div id='block_id' style='display: none'></div>`);

затем выбрать его и добавить с помощью appendChild

document.getElementById('block_id').appendChild(table)
→ Ссылка