【问题标题】:Javascript window.getSelection() alternativeJavascript window.getSelection() 替代
【发布时间】:2015-01-14 20:30:42
【问题描述】:

我正在尝试手动选择文本。 window.getSelection().getRangeAt(0); 用于窗口选定文本的行。但我希望这个由我预先选择。

foo=function()
    {       
    var selection= "Lorem ipsum dolor"; // Instead of this line window.getSelection().getRangeAt(0);
    var selectedText = selection.extractContents();
    var span= document.createElement("span");
    span.style.backgroundColor = "yellow";
    span.appendChild(selectedText);
    selection.insertNode(span);
    }

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
<input type="button" onclick="foo();" value="FOO"/>

【问题讨论】:

    标签: javascript jquery getselection


    【解决方案1】:

    有github项目findAndReplaceDOMText。一个可能有用的 javascript 库:它在给定的 DOM 节点中搜索正则表达式匹配项,并用您可以指定的节点或文本片段替换或包装每个匹配项。

    您也可以使用window.find() / createTextRangeThis answer 展示了如何做到这一点。它将匹配跨越元素边界的文本并使用document.execCommand() 为您突出显示。

    最后 - 如果我查看您的示例并且您只想替换文本节点的特定片段 - 您可以使用如下正则表达式:

    element.innerHTML = element.innerHTML.replace(
        /Lorem ipsum dolor/gi,
        '<span class="f">$0</span>'
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多