如何使用getSelectedText()中的文本选择来进行wrap()?

时间:2019-02-26 07:19:53

标签: javascript jquery

我想使选定文本周围的div变形,但是我不知道如何以最简单的方式做到这一点?

我抓到了选定的文字,

myselection = window.getSelection();

例如,我们有"123456789",而我选择了"456" 最后我要

"123<div>456</div>789"

我知道使用wrap()应该可以,但是通常我每次都使用选择器作为类或id。如何为选择对象使用wrap()函数?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

首先,您可以尝试类似的操作

let selectedString = window.getSelection().toString()
let selectedNode = $(window.getSelection().anchorNode).parent()
let fullText = selectedNode.get(0).innerHTML
let finalText = fullText.replace(selectedString, "<span style='background:red'>" + selectedString + "</span>")
selectedNode.get(0).innerHTML = finalText