Javascript Why.html()don';输出html标签?

Javascript Why.html()don';输出html标签?,javascript,jquery,html,Javascript,Jquery,Html,如果我有一个p元素 <p> simple text <h3> this is h3 text </h3> </p> 它应该给出输出简单文本这是h3文本 但它只提醒简单文本。我认为Ok可能是。html()不输出html标记 但当我在同一个p元素中使用jquery添加任何html,然后以同样的方式发出警报时,它会给出预期的结果(它也显示html标记) 这就是一个例子 有人能解释为什么会有这种不同的行为吗?提前感谢如果你进入chrome inspec

如果我有一个p元素

<p> simple text <h3> this is h3 text </h3> </p>
它应该给出输出
简单文本这是h3文本

但它只提醒
简单文本
。我认为Ok可能是
。html()
不输出html标记

但当我在同一个p元素中使用jquery添加任何html,然后以同样的方式发出警报时,它会给出预期的结果(它也显示html标记)

这就是一个例子


有人能解释为什么会有这种不同的行为吗?提前感谢

如果你进入chrome inspector查看你链接的JS fiddle页面,你会注意到HTML呈现如下:

<p id="firstp">
simple text</p><h3>
this is h3 text
</h3>
<p></p>

简单文本

这是h3文本


在开始标题标记之前添加了结束段落标记。

因为
简单文本这是h3文本

是无效的HTML。在你自己的小提琴中,检查呈现的代码,看看浏览器如何为你修复无效的HTML。@BuhBuh有些人想帮助别人,而不是出于想象中的互联网点……这里可能已经有多个答案了anyway@BuhBuh单击j08691的用户名。他们有131K。此外,这个问题可能会以打字错误或不可复制的错误结束。您可以看到HTML在小提琴上是无效的:放错位置的

有红色背景。
<p id="firstp">
simple text</p><h3>
this is h3 text
</h3>
<p></p>