Javascript 为什么<;车身>&书信电报;头>&书信电报;html>;标记和其他一些标记不被视为<;代码>;标签?

Javascript 为什么<;车身>&书信电报;头>&书信电报;html>;标记和其他一些标记不被视为<;代码>;标签?,javascript,jquery,html,Javascript,Jquery,Html,我试图把,添加到代码> 标签中,但它不认为它是HTML。其他标记,如、、和应为文档的根,因此当它们不在根时将被忽略 当您在根目录下添加时,浏览器会自动在其前面插入,因为它知道它应该在那里,然后它会忽略其他代码,因为它们不在根目录下 这意味着,解析后的DOM树中的实际结果如下: <html> <head> </head> <body> <code> <div> Foo!

我试图把<代码>,<代码>添加到<代码>代码> <代码>标签中,但它不认为它是HTML。其他标记,如

应为文档的根,因此当它们不在根时将被忽略

当您在根目录下添加
时,浏览器会自动在其前面插入
,因为它知道它应该在那里,然后它会忽略其他代码,因为它们不在根目录下

这意味着,解析后的DOM树中的实际结果如下:

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


福!
因此,当代码运行时,它会获取
中的所有内容

如果要将所有If显示为文本,则应使用
等将HTML编码为文本,然后改用
.text()


类似这样:

这里的一个微妙之处是jQuery的
html()
使用DOM的
innerHtml
,即使它是有效的,也不能保证与源html完全相同。但是每个标记都应该得到支持!:/w3.org做什么?他们制作了
来添加代码@阿斯匹林注射液更新。如果这不起作用,请把你的问题扩展到你想要的更多信息上。@ LogANFSMYTH我对你的答案感到满意,但它似乎不公平,因为我在做一些事情,它需要一个Ajax调用来获得<代码>标签HTML并保存到DB,但是它不认为它是HTML,所以它不能正确保存。注意:用户输入代码,然后保存HTML。@AspiringAqib如果您接收的内容是HTML,则需要用编码值转义
字符。这种标记完全无效,并且严重违反了HTML的文档模型。询问HTML为何以这种方式定义需要猜测。这个问题没有描述预期目的是什么。