创建一个范围后,如何在Firefox中显示它的HTML内容?
range.toString()
仅向我提供了文字内容。本质上,像innerHTML一样在IE中返回标记。
感谢
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;
}
答案 0 :(得分:0)
innerHTML
是JavaScript标准的一部分,并得到所有现代浏览器的支持。只要else
是HTML元素对象,您的oTarget
语句(适用于IE)也可以在Firefox中使用。