Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как правильно добавлять элементы в DOM (https://javascript.ru/forum/events/83165-kak-pravilno-dobavlyat-ehlementy-v-dom.html)

finlolo 06.10.2021 16:41

Vlasenko Fedor,
Хорошо, спасибо.

Vlasenko Fedor 06.10.2021 17:00

<script>
const test = el => alert(`Click: ${el.innerText}`);

const buildElement = (tagName, props = {}, attributes = {}) => {
    const el = Object.assign(document.createElement(tagName), props);
    for (let key in attributes) el.setAttribute(key, attributes[key]);
    return el;
}

const btn1 = buildElement('button', {
    className: 'my-button',
    innerText: 'Best Button 1',
}, {
    onclick: "test(this)"
});

const btn2 = buildElement('button', {
    className: 'my-button',
    innerText: 'Best Button 2',
}, {
    onclick: "test(this)"
});

window.addEventListener('DOMContentLoaded', _ => {
    document.body.insertAdjacentHTML('beforeend', btn1.outerHTML)
    document.body.insertAdjacentHTML('beforeend', btn2.outerHTML)
})
</script>

Вриант вставки элементов с навешиванием событий на них :)


Часовой пояс GMT +3, время: 06:55.