1
我正在選擇一個單詞並嘗試用元素結構替換它。之前我使用的是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元素並不是必需的,但它在此階段起作用。也可以使用document.createDocumentFragment()
來代替innerHTML
?那我該如何插入那個位置?
我改變了'rangy.getSelection()deleteFromDocument()''到range.deleteContents();'它工作得很好。 – Dominic 2012-04-12 10:13:09
@Dominic:是的,那也可以。 – 2012-04-12 14:35:17