【问题标题】:Display html content of range or htmlfrag显示范围或 htmlfrag 的 html 内容
【发布时间】:2010-01-20 21:20:06
【问题描述】:

创建范围后,如何在 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;
}

【问题讨论】:

    标签: javascript dhtml


    【解决方案1】:

    innerHTML 是 JavaScript 标准的一部分,受到所有现代浏览器的支持。只要oTarget 是一个HTML 元素对象,您的else 语句(对于IE)也应该在Firefox 中工作。

    【讨论】:

    • 我需要 oTarget 的灵活性才能真正成为任何东西。在某些情况下,innerHTML 在非 IE 上会遇到障碍。我希望有人知道范围 HTML 显示问题的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多