代码之家  ›  专栏  ›  技术社区  ›  Guillermo Phillips

IE HTML转义

  •  1
  • Guillermo Phillips  · 技术社区  · 15 年前

    我有个小问题快让我发疯了。我有以下示例代码:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <script>
            function Test() {
                document.getElementById("test").innerHTML = "<input type='text' value='ab&apos;cef'>"
            }
        </script>
        <body>
            <div id="test"></div>
        </body>
        <script>
            Test();
        </script>
    </html>
    

    这个例子在Firefox 3.5中发挥了很大的作用,我在输入框中看到了文本中间的撇号。然而,IE7一字不差地显示为:ap&载脂蛋白;cef。

    我尝试过各种不同的逃避方式,但徒劳地希望看到撇号,例如\x27或\'但没有成功。有聪明人知道如何在IE中做到这一点吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  4
  •   Quentin    15 年前

    &载脂蛋白;是一个XML特性。HTML4.x中不允许使用,Internet Explorer也不支持它。Firefox支持将其作为标记汤解析器的一部分,以处理作为文本/html的XHTML。

    使用 & 相反

    XHTML 1.0 Appendix C .

        2
  •  0
  •   Matthew Wilson    15 年前

    document.getElementById(“test”).innerHTML=“<输入类型=\“文本\”值=\“ab'cef\”>”