jQuery选择文本并在段落中添加跨度

前端之家收集整理的这篇文章主要介绍了jQuery选择文本并在段落中添加跨度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个获取所选文本的函数,通过鼠标选择文本,并将其添加到变量中.我想在所选文本中的该变量周围添加标签 – 在该段落中.
$("p").live("mouseup",function() {
    selection = getSelectedText();
    if(selection.length >= 3) {
        var $spn = $("<span></span>").html(selection).addClass("selected");
        $("p").wrap($spn);
    }
});

//Grab selected text
function getSelectedText(){
    if(window.getSelection){
        return window.getSelection().toString();
    }
    else if(document.getSelection){
        return document.getSelection();
    }
    else if(document.selection){
        return document.selection.createRange().text;
    }
}

我可以获取文本选择变量,而不是放置< span>< / span>在段落< p>的选定文本周围,我的函数将其包装在外面.

如何在段落中替换它?
谢谢.

解决方法

这是出错的地方:
var $spn = $("<span></span>").html(selection).addClass("selected");
$("p").wrap($spn);

这意味着你要围绕段落包装跨度.

我认为你的意思是做这样的事情:

var spn = '<span class="selected">' + selection + '</span>';
$(this).html($(this).html().replace(selection,spn));
原文链接:https://www.f2er.com/jquery/181354.html

猜你在找的jQuery相关文章