用另一个文本替换选定的
我试图用另一个文本替换选定的文本。
考虑以下是文本行。
你好世界。早上好。 你好,世界。 早上好。
如果我选择第二天morning
文字,我想在晚上更换早晨文本。 所以输出需要看起来像这样:
你好世界。早上好。 你好,世界。 晚安。
我试过替换function,但它正在取代第一天早上的文字。
有人可以建议解决这个问题吗?
要在HTML5中获取当前选择,请使用DOM Range API 。
要编辑选择,可以使用选择API 。
另请参阅: 文本选择API在哪里?
如果您使用jQuery,那么使用wrapSelection插件
你可以这样做:
看看演示
function swapSelection(swapText) { var sel = window.getSelection ? window.getSelection() : document.selection.createRange(); if (sel != "") { if (sel.getRangeAt) { var range = sel.getRangeAt(0); var newNode = document.createElement("span"); newNode.setAttribute('class', 'swapclass'); range.surroundContents(newNode); } else { sel.pasteHTML('' + sel.htmlText + ''); } $('.swapclass').replaceWith(swapText); } } $('button').click(function () { swapSelection('night'); });