JavaScript: воссоздать / заказать фрагмент документа. Удалить форматирование из фрагмента - PullRequest
0 голосов
/ 18 июня 2019

Я строю редактор на основе блоков, но врезался в стену о том, как действовать.

Я не хочу использовать execCommand для выполнения таких операций, как выделение жирным шрифтом, потому что я хочу, чтобы мой редактор мог обернуть выделенный текст во что угодно, а также потому, что execCommand работает по-разному в разных браузерах.

Моя проблема отмена фрагментированная разметка.

Например, если у нас есть такой текст.

Lorem Ipsum <strong>is simply dummy text of the printing and typesetting industry. Lorem</strong> Ipsum has been the industry's standard dummy text ever since the 1500s

и хотел просто отменить слово или два, это просто.

Но что, если у нас что-то подобное, когда форматирование вложено:

The Lost City of Atlantis is a myth and legend that has fascinated <strong>generations and captured the <mark>imagination for countless <em>storytellers since</em> the great philosopher</mark> Plato first</strong> introduced it to the masses ~360BC.

и я хотел отменить слово countless?

Предполагая, что у меня уже есть созданный фрагмент документа, который содержит все текущие узлы, и я добавил класс selectionNode к узлу, содержащему текст, который мы хотим отменить, что является лучшим способом распутать все, чтобы получить желаемый вывод?

Document Fragment tree

Может кто-нибудь помочь направить меня в правильном направлении? Или я делаю это "трудным" путем, и все вместе есть лучшее решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...