1
一旦我创建了一个范围,我如何在Firefox中显示它的HTML内容? range.toString()
只给我的文字内容。本质上,像innerHTML在IE中返回标记。 感谢显示范围或htmlfrag的html内容
function innerHTML(oTarget, sContent, bAppend){
if (document.getElementById && !document.all) {//is this a non ie browser
var range = document.createRange();
range.setStart(oTarget, 0);
range.setEnd(oTarget, oTarget.childNodes.length);
if (sContent) {//if there is content, save it if not return the content
var htmlFrag = range.createContextualFragment(sContent);
if (bAppend != true) {//append or replace
range.deleteContents();
}
oTarget.appendChild(htmlFrag); //add the new html
} else {
sContent = range.toString();
}
} else {
if (sContent) {
if (bAppend == true) {
oTarget.innerHTML += sContent;
} else {
oTarget.innerHTML = sContent;
}
}
sContent = oTarget.innerHTML;
}
return sContent;
}
我需要oTarget的灵活性来做任何事情。在某些情况下,innerHTML会在非IE浏览器中遇到问题。我希望有人知道范围HTML显示问题的答案。 – Praesagus 2010-01-20 22:36:59