Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示范围或htmlfrag的html内容_Javascript_Dhtml - Fatal编程技术网

Javascript 显示范围或htmlfrag的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显示问题的答案。

一旦我创建了一个范围,我如何在Firefox中显示它的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;
}