Ich wähle ein Wort und versuche, es durch eine Elementstruktur zu ersetzen. Früher habe ich IE=EmulateIE7
verwendet und der folgende Code funktionierte. Wegen einiger anderer Probleme habe ich das Emulate IE7 Meta entfernt und der insertNode funktioniert nicht mehr.Rangy und InsertNode Problem
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);
}
Das Element new_update ist überhaupt nicht erforderlich, aber es funktioniert in diesem Stadium. Auch anstelle von innerHTML
kann ich document.createDocumentFragment()
?. Dann wie füge ich an dieser Stelle ein.
Ich änderte 'rangy.getSelection() deleteFromDocument()' auf 'range.deleteContents();' und es funktionierte gut.. – Dominic
@Dominic: Ja, das würde auch funktionieren. –