如何从window.getSelection().getRangeAt(0)中选择并用HTML标记(例如'span'或'mark')将其包围?我更喜欢直接的javascript或jQuery解决方案.
我能够使用警报输出所选文本,但还没有弄清楚如何用额外的标记来包围它.我已经看到很多关于选择运行execCommand的例子,但这不是我想要的.
请参阅jsfiddle的工作示例
有任何想法吗?谢谢
如何将选定的文本范围转换为 HTML 元素?
例如, string The quick brown fox jumps over the lazy dog,我提取了brown反映选择点的部分start = 10和end = 14(选择不是由用户输入构建的)。
现在,我如何将这部分字符串转换为 a <span>brown</span>?
PS 我已经研究过如何用 HTML 标签包装跨界 DOM 选择范围?. 提供的答案使用 execCommand,但这并不满足我,因为我需要它尽可能透明。
我Range也在使用API 进行选择,但在这种情况下 - “选择”只是存储的start/end位置指针,实际上没有进行选择。
我有一个想法,我可以使用指针在背景中创建一个选择,用</span>它换行,这对用户来说是不可见的,但话说回来……我不知道如何执行这个。
提前致谢!