如何使用jQuery将HTML标签显示为Text?

Cyr*_*ril 2 html javascript jquery html5 dom

我试图使用类html和下面的jquery代码显示未呈现的HTML 代码.它除了标签每个标签的工作<html>,<head><body>.有没有办法这些也可以显示为文字?

$(document).ready(function () {
    $('.html').each(function () {
        $(this).text($(this).html());
    });
});
Run Code Online (Sandbox Code Playgroud)

HTML代码:

<pre>
<div class="html">
    <html>
    <head><title>Title</title></head>
    <body>
    <p>Unrendred html</p>
    </body>
    </html>
</div>
</pre>
Run Code Online (Sandbox Code Playgroud)

预期内容:

<div class="html">
    <html>
    <head><title>Title</title></head>
    <body>
    <p>Unrendred html</p>
    </body>
    </html>
</div>
Run Code Online (Sandbox Code Playgroud)

实际内容:

<title>Title</title>

<p>Unrendred html</p>
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 5

您的HTML无效.您不能将大多数这些标签放在哪里.

当浏览器尝试解析您的无效HTML时,它会遇到您的错误并尝试从中恢复.

结果是它们永远不会放在.htmlDOM中的元素中,因此当您尝试将DOM转换回HTML时,它们将不会出现.

你可以将它们从中删除的唯一方法是从服务器重新获取原始源代码,然后自己解析HTML.

只需首先正确编写HTML.如果要渲染一个<字符,则放入&lt;HTML(依此类推).在浏览器解析之后,不要尝试使用JavaScript来转义HTML.