Murmurianez, мне кажется, вот решение твой проблемы:
<html>
<body>
<div contenteditable="true" id="edDiv">
Текст)
</div>
<button onclick="return clicker()">Вставить <b></button>
<script>
function clicker() {
var sel= window.getSelection();
var rng= document.createRange()
rng.setStart(sel.anchorNode, sel.anchorOffset);
rng.setEnd(sel.focusNode, sel.focusOffset);
var bi= document.createElement("b");
rng.surroundContents(bi);
};
</script>
</body>
</html>
Все методы, которые я тут использовал, описаны в статье, ссылку на которую я отправлял. Ну, и для ie допилишь ф-цию сам. И вообще допилишь её.