javascript - 如何将标签添加到 JQuery 中的选定文本
问题描述
例如,我有一个像这样的大段
<p> hello this is my paragraph </p>
所以我想在整个文本中为选定的文本附加一个标签,所以如果我在“我的段落”上突出显示,我希望该段落如下所示
<p> hello this is <span>my paragraph</span></p>
谢谢你们
解决方案
您可以通过使用 javascript 轻松地做到这surroundContents()
一点。
<div onclick="addSpanEle()">hello this is my paragraph</div>
function addSpanEle() {
var span = document.createElement("span");
if (window.getSelection) {
var selectedText = window.getSelection();
if (selectedText.rangeCount) {
var range = selectedText.getRangeAt(0).cloneRange();
range.surroundContents(span);
selectedText.removeAllRanges();
selectedText.addRange(range);
}
}
}
对于 jquery:在这里查看小提琴演示:http: //jsfiddle.net/BGKSN/24/
推荐阅读
- java - 如何修复接收对象数组的静态泛型方法
- c - 如何在 Jenkins 中生成代码覆盖率报告。为了获得代码覆盖率,必须做哪些额外的插件/配置
- javascript - 使用带有动态/用户相关秘密的“nestjs/jwt”签名
- embedded - 如何通过 esp32 中的原生 api 进行 OTA 更新?
- python - keras 中 layer.weights 和 layer.get_weights 的区别
- java - 如何在 XML 中传递 @RequestBody 对象列表
- python-3.x - “RequirementParseError:预期 ',' 或 gitpython 中的列表结尾 >=2.1.9<2.2 at <2.2”
- ffmpeg - FFmpeg - avcodec_receive_frame 返回 AVERROR(EAGAIN)
- linux - Python-如何使用驱动器路径确定linux中的引导驱动器
- automation - 如何在量角器中单击 svg 图标?