javascript - 如何使用 getSelectedText() 中的文本选择执行 wrap()?

标签 javascript jquery

我想围绕所选文本扭曲一个 div,但我不知道如何以最简单的方式做到这一点?

我通过以下方式捕获选定的文本,

myselection = window.getSelection();

例如我们有 "123456789" 我选择了 "456" 我想在最后,

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

我知道 wrap() 应该是可能的,但通常我每次都将它与选择器一起使用,作为一种类或 id。如何对选择对象使用 wrap() 函数?

感谢您的帮助!

最佳答案

首先,你可以尝试这样的事情

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

关于javascript - 如何使用 getSelectedText() 中的文本选择执行 wrap()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54880243/

相关文章:

JavaScript 函数 "X - Y = Z"返回 Y 作为 Z 值

jquery - Material 设计选择下拉菜单

javascript - 为什么我的 map 不在 jQuery 选项卡中呈现?

jquery - Jquery JSON解析错误

javascript - Angular2 中的输入只允许一位小数

javascript - 如何使用 JavaScript 从我的网站查询本地主机服务器?

javascript - 如何使用 javascript/jQuery 访问类名列表?

javascript - HTML 在代码中获取文本

javascript - 谷歌热图梯度范围?

javascript - js中查找所有重复记录的索引