Статья хорошая, спасибо большое. Но в ней не затронута тема выделения сразу нескольких нодов (например, сразу три-четыре ноды разного типа затронуты) и что с этим делать.
Я пока прикидываю, что нужно как-то ходить по ДОМ узлам и в каждом узле выделять необходимый текст, т.е. начиная с
startContainer выделения и до
endContainer ходить, используя nextSibling.
Но что-то, судя по всему, это не совсем верный вариант
Обычные текстовые ноды выделять не проблема, но когда оказываются еще элементные ноды, сразу возникает творческий тупик