首页 > 解决方案 > 如何将标签添加到 JQuery 中的选定文本

问题描述

例如,我有一个像这样的大段

<p> hello this is my paragraph </p>

所以我想在整个文本中为选定的文本附加一个标签,所以如果我在“我的段落”上突出显示,我希望该段落如下所示

<p> hello this is <span>my paragraph</span></p>

谢谢你们

标签: javascriptjqueryhtmlcss

解决方案


您可以通过使用 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/

礼貌:https ://stackoverflow.com/a/17836828/10153495


推荐阅读