【发布时间】:2011-01-15 06:30:16
【问题描述】:
我有一个函数可以获取选定的文本,通过鼠标选择文本,并将其添加到变量中。我想在所选文本中的该变量周围添加标签 - 在该段落中。
$("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> 中的选定文本周围,而是我的函数将其包装在外面。
如何在段落中替换它? 谢谢。
【问题讨论】:
-
按照您的要求去做通常非常困难。您确定段落下没有嵌套标签吗?如果有的话,在不破坏当前架构的情况下可能很难做到。
-
段落下除了新创建的spans外,不应有任何其他标签。