Skip to content

Instantly share code, notes, and snippets.

@davideast
Created October 19, 2017 17:55
Show Gist options
  • Select an option

  • Save davideast/ab00880a30c4e650d9e8d11fd4f7e5a2 to your computer and use it in GitHub Desktop.

Select an option

Save davideast/ab00880a30c4e650d9e8d11fd4f7e5a2 to your computer and use it in GitHub Desktop.

Revisions

  1. davideast created this gist Oct 19, 2017.
    10 changes: 10 additions & 0 deletions selectText.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    function selectText(selection) {
    var range = selection.getRangeAt(0);
    function replaceRange(s, start, end, substitute) {
    return s.substring(0, start) + substitute + s.substring(end);
    }
    var text = selection.baseNode.textContent.substring(range.startOffset, range.endOffset);

    var mark = `<mark>${text}</mark>`;
    range.startContainer.parentElement.innerHTML = replaceRange(range.startContainer.textContent, range.startOffset, range.endOffset, mark);
    }