抽出したコンテンツに「スパン」があるかどうかを知る必要があります。
textareaから選択を取得する単純なjs部分:
...
selection = this.getWin().getSelection().getRangeAt(0);
content = selection.extractContents();
alert(content)// this gets documentFragment
alert(content.firstChild)//null
fontEl = document.createElement ("span")
fontEl.appendChild(content);
alert(fontEl.outerHTML)// works ok. but now i have 2 spans if there was one before append
私のjsfiddleがあります。フォントサイズの変更をテストします。それは機能しますが、この問題のためにスパムスパンです。 http://jsfiddle.net/DCGRg/73/