私は単語を選択し、それを要素構造体で置き換えようとしています。以前はIE=EmulateIE7
を使用していましたが、以下のコードが動作していました。その他のいくつかの問題のため、私はIE7メタをエミュレートし、以下のinsertNodeが機能しなくなりました。RangyとInsertNodeの問題
function updateNodeAtRange(text, frag) {
var range = getFirstRange();
var htmlcontent='<span id="AuniqueId" class="style1">'+frag+'</span><span id="BuniqueId" class="style2">'+text+'</span>';
if (range) {
rangy.getSelection().deleteFromDocument();
var el = document.createElement("new_update");
el.setAttribute('id', 'CuniqueId');
el.appendChild(document.createTextNode(text)); //Not sure if this is right
el.innerHTML = htmlcontent;
range.insertNode(el);
rangy.getSelection().setSingleRange(range);
}
alert(document.getElementById('Filearea').innerHTML);
}
new_update要素は必須ではありませんが、この段階で機能します。またinnerHTML
の代わりにdocument.createDocumentFragment()
を使用できますか?次に、その場所にどのように挿入しますか?
は私が変更;'とそれがうまく働いた:私は、ノードを挿入する前に、選択から新しい範囲を取得して助言します。 – Dominic
@Dominic:はい、うまくいくでしょう。 –