JavaScript:重新创建/排序文档片段。从片段中删除格式

时间:2019-06-18 18:22:50

标签: javascript dom formatting nodes

我正在构建基于块的编辑器,但在如何进行方面遇到了障碍。

我不想使用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

有人可以帮我指出正确的方向吗?还是我以“艰苦”的方式进行此操作,并且对这一切有更好的解决方案?

0 个答案:

没有答案