に複数のdivの上にまたがる選択したテキストからテキストを終了し、起動置きます私が選択したテキストの前後にテキストを配置する方法を知っているが、私は終わるごとのpの前にテキストを挿入しない方法は、私があれば、テキストは今</p> <pre><code><p>This is a random text<p> <p>Another random text<p> </code></pre> <p>であれば、複数のdivs.For例の上にまたがる選択したテキストの前後にテキストを配置しようとしていますジャバスクリプト
<p>This hello world is a random text hello world<p>
<p>hello world Another random text hello world<p>
ユーザーには2つのp tags.The出力からでなければなりません「別のランダムなテキストがランダムなテキストである」を選択します別の選択されたpタグの開始後。
function surroundSelection(textBefore, textAfter) {
if (window.getSelection) {
var range = sel.getRangeAt(0);
var startNode = range.startContainer, startOffset = range.startOffset;
var boundaryRange = range.cloneRange();
var startTextNode = document.createTextNode(textBefore);
var endTextNode = document.createTextNode(textAfter);
boundaryRange.collapse(false);
boundaryRange.insertNode(endTextNode);
boundaryRange.setStart(startNode, startOffset);
boundaryRange.collapse(true);
boundaryRange.insertNode(startTextNode);
// Reselect the original text
range.setStartBefore(startTextNode);
range.setEndAfter(endTextNode);
sel.removeAllRanges();
sel.addRange(range);
}
}
これは、タグに関係なく、選択したテキストの前後にテキストを追加するだけです。