为什么<body>,<head>,<html>标签和其他一些不被视为<code>标签的HTML?

Muh*_*bar 2 html javascript jquery

我正在尝试添加<body>, <head>, <html><code>标记中,但它并不认为它是HTML.其他标签<div>, <a>, <p>, <b>, <i>, <textarea>等正在运作.

这是小提琴:

小提琴链接

log*_*yth 6

<html>,<body>和,并且<head>应该是文档的根,因此当它们不在根时将被忽略.

当您<code>在根处添加时,浏览器<html><body>会自动插入它,因为它知道它应该在那里,然后它会忽略其他的,因为它们不在根.

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

<html>
  <head>
  </head>
  <body>
    <code>
      <div>
        Foo!
      </div>
    </code>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

因此,当您的代码运行时,它将获取所有内容<code>.

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

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