JavaScript Range.cloneContents() — копія вмісту діапазону
Метод cloneContents() повертає копію вмісту діапазону — як DocumentFragment. Оригінал лишається на місці.
Загальний опис
Повертається саме фрагмент, а не рядок: розмітка всередині зберігається. Тому скопійований шматок можна одразу вставити деінде — жирний текст лишиться жирним.
Якщо потрібен саме текст, простіше взяти range.toString().
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| cloneContents | 1+ | 1+ | 1+ | 7+ | 12+ | 9+ |
| Переглядач | ||||
|---|---|---|---|---|
| cloneContents | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Скопіювати виділене в іншу частину сторінки — з розміткою.
HTML
<p id="source">Текст із <b>жирним</b> усередині</p>
<div id="copy"></div>
JS
const selection = window.getSelection();
if (!selection.isCollapsed) {
const fragment = selection.getRangeAt(0).cloneContents();
// розмітка збереглась — жирне лишилось жирним
document.getElementById('copy').append(fragment);
// а якщо треба лише текст:
console.log(selection.getRangeAt(0).toString());
}
Коментарі
Коментарів ще немає — будьте першим!