为什么,,标记和其他一些不被视为<code> tag?</code>的HTML

时间:2013-01-18 04:11:11

标签: javascript jquery html

我正在尝试将<body>, <head>, <html>添加到<code>标记中,但它不会将其视为HTML。其他标签如<div>, <a>, <p>, <b>, <i>, <textarea> e.t.c正在运作。

这是小提琴:

Fiddle Link

1 个答案:

答案 0 :(得分:6)

<html><body><head>应该是文档的根目录,因此当它们不在根目录时会被忽略。

当您在根目录中添加<code>时,浏览器会自动在其前面插入<html><body>,因为它知道它应该在那里,然后它将忽略其他人,因为它们不在根

这意味着在解析的DOM树中实际结束的是:

<html>
  <head>
  </head>
  <body>
    <code>
      <div>
        Foo!
      </div>
    </code>
  </body>
</html>

因此,当您的代码运行时,它会将所有内容都放在<code>

如果要将所有内容显示为文本,则应使用&lt;等将HTML编码为文本,然后使用.text()

像这样:http://jsfiddle.net/eqnK4/1/