使用getselection作为选择器?

时间:2012-02-25 15:01:16

标签: jquery text jquery-selectors getselection

getselection();中的文本如何用作jquery中的选择器。

有些人喜欢这样,但这并不是因为:

var sel = window.getselection();
$(sel).wrap('<div class=\"onetwothree\"></div>');

1 个答案:

答案 0 :(得分:0)

.wrap的目的是用jrap包装jQuery中的选定项目。 由于sel是文本的选择,而不是有效的jQuery选择器,您可以执行以下操作:

首先,您可以找到用户获得的文本选择。 然后你找到该文本的容器并获取它的html。 完成之后,您可以使用split函数将字符串拆分为带索引的数组。拆分字符串应该是选择。然后你得到了选择左边的内容以及右边的内容。

现在,您可以将该数组与您不想包装的内容结合起来,例如:

var splittedContent = ['leftside', 'rightside'];

var newStr = splittedContent[0]+'<div class="somediv">'+yourSelection+'</div>'+splittedContent[1];

$('.container').html(newStr);

这将采用左侧的内容并将其与选择周围的包裹div相结合,然后将选择的右侧放在末尾。然后它会将html设置回我们从

获取html的元素

希望这能让你继续前进:)