Я делаю кое-что в подсвечивании страниц, и нашел наиболее популярный пример использования выделения текста и добавления интервалов - переключение в designMode и запуск execCommand
Как выделить текст объекта DOM Range?
Хотя нет никаких дальнейших действий по удалению тегов span после их создания. Я видел несколько примеров, использующих jquery и replaceWith, но ни одного из них с прямым javascript.
Вы должны быть в состоянии сделать что-то вроде:
// Where span is a reference to the span to be replaced var text = span.textContent || span.innerText; var node = document.createTextNode(text); span.parentNode.replaceChild(node, span);
Просто создайте новый текстовый узел с содержимым (innerHTML) <span>. Замените узел <span> на replaceChild на его родительском узле:
innerHTML
<span>
replaceChild
spanTag.parentNode.replaceChild(document.createTextNode(spanTag.innerHTML), spanTag)