divテキストの段落の一定量の文字の後に を挿入することはできますか?
div次のように、テキストがいっぱいある場合:
<div class="content">
Vivamus luctus urna sed urna ultricies ac tempor dui sagittis.
</div>
divそして、13番目の文字の後に挿入したい:
Vivamus luctu<div>s urna sed urna ultricies ac tempor dui sagittis
jQuery/Javascriptでこれを行うことはできますか?
divを挿入したい場所の境界を受け取ってgetSelection().extentOffsetいます。結果が数値になります。たとえば13、挿入したい場所ですdiv。
次のように、これを部分的に機能させることができました。
$("div").on("mouseup", function () {
var start = window.getSelection().anchorOffset;
var end = window.getSelection().extentOffset;
console.log(start + ", " + end);
console.log($(".content").text().substring(start, end));
$('.output').html($('.content').html().substring(0, start) + '<span class="highlight">' + $('.content').html().substring(start, end) + "</span>" + $('.content').html().substring(end));
});
ただし、境界が変更されると、テキスト全体が置き換えられます。つまり、div.