У меня есть контент-ориентированный тэг. Когда содержимое из тэга p извлекается и вставляется в другой тег, вся разметка оригинала теряется. Есть ли способ сохранить разметку?Получите innerHTML # документа-фрагмента вместо textContent
Пожалуйста, обратите внимание, если каретки является @ г-го положения в пункте, то символов извлекаются, начиная с этой позиции до конца.
function select() {
var el = document.getElementById('p');
el.focus();
var sel = window.getSelection();
var selRange = sel.getRangeAt(0);
var range = selRange.cloneRange();
range.selectNodeContents(el);
range.setStart(selRange.endContainer, selRange.endOffset);
document.getElementById('other').innerHTML = (range.extractContents().textContent);
// return range.extractContents().textContent;
}
p {
\t background-color: #eee;
}
.red {
color: red;
}
<p id="p" contenteditable="true">This is <i>a</i> <span class="red">paragraph</span> <b>with</b> lots of markup.</p>
<p id="other"></p>
<button onclick="select()">SELECT</button>
Обращайтесь к вопросу еще раз. Произошли незначительные изменения. – dorado
@ dorado, нашел более простой способ, просто добавьте весь фрагмент. – zzzzBov