Javascript 显示范围或htmlfrag的html内容
一旦我创建了一个范围,我如何在Firefox中显示它的HTML内容?Javascript 显示范围或htmlfrag的html内容,javascript,dhtml,Javascript,Dhtml,一旦我创建了一个范围,我如何在Firefox中显示它的HTML内容? range.toString()只提供文本内容。本质上,像innerHTML一样,它在IE中返回标记。 谢谢 innerHTML是JavaScript标准的一部分,所有现代浏览器都支持它。你的else语句(用于IE)也应该在Firefox中工作,只要oTarget是HTML元素对象。我需要oTarget的灵活性才能真正成为任何东西。innerHTML在某些情况下会在非IE上遇到障碍。我希望有人知道范围HTML显示问题的答案。
range.toString()
只提供文本内容。本质上,像innerHTML一样,它在IE中返回标记。
谢谢
innerHTML
是JavaScript标准的一部分,所有现代浏览器都支持它。你的else
语句(用于IE)也应该在Firefox中工作,只要oTarget
是HTML元素对象。我需要oTarget的灵活性才能真正成为任何东西。innerHTML在某些情况下会在非IE上遇到障碍。我希望有人知道范围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;
}