与跨越选择的功能相反

时间:2014-07-08 07:48:54

标签: javascript jquery html css

嘿伙计我有这样的功能:

  define(function () {
  'use strict';
  var sel, range, span;
  return function () {
    span = document.createElement("span");
    span.className = 'highlight';

    if (window.getSelection) {
      sel = window.getSelection();
      if (sel.rangeCount) {
        range = sel.getRangeAt(0).cloneRange();
        range.surroundContents(span);
        sel.removeAllRanges();
        sel.addRange(range);
       }
     }
   };
 });

它基本上围绕着我的选择。我希望与此方法相反,从所选文本中删除范围。例如

我有一个div:

<div>some text in here</div>

假设我将上述内容应用于上述“此处”一词:

<div>some text in <span class="highlight">here</span></div>

如果我再次突出显示,我想有一个方法可以删除单词中的跨度。

1 个答案:

答案 0 :(得分:1)

正如你标记了jQuery。您只需使用.contents().unwrap()

的组合即可
$('.highlight').contents().unwrap()

DEMO