Заметки кодящего дизайнера

Копируем текст внутри контейнера по нажатию кнопки

Этот скрипт предназначен для копирования текста внутри контейнера по нажатию на кнопку. В данном случае будет скопирован только текст, любая HTML-разметка будет проигнорирована.

const copyText = () => {
    const button = document.getElementById('button');
    const container = document.getElementById('container');
    
    // Если вдруг нет кнопки и/или контейнера, то дальше делать нечего.
    if (!button || !container) return;

    button.addEventListener('click', () => {
        // Получаем текст из контейнера.
        const textToCopy = container.innerText;

        // Создаем временное текстовое поле для копирования.
        const tempTextarea = document.createElement('textarea');
        tempTextarea.value = textToCopy;

        // Добавляем текстовое поле в документ, чтобы выполнить копирование.
        document.body.appendChild(tempTextarea);

        // Выделяем текст и выполняем команду копирования.
        tempTextarea.select();
        document.execCommand('copy');

        // Удаляем временное поле из документа.
        document.body.removeChild(tempTextarea);
    }); 
}

copyText();

Впрочем, чтобы скрипт позволил копировать HTML вместо текста, потребуется всего-лишь заменить container.innerText; на container.innerHtml;.