Javascript 静态布局与jQuery包装器-不同的输出

Javascript 静态布局与jQuery包装器-不同的输出,javascript,jquery,Javascript,Jquery,如果我编写这样的代码: <body> <xmp> <p>hello world</p> <div></div> </xmp> </body> 为什么会发生这种情况以及如何修复?免责声明:您不应使用 它不起作用,因为您使用的是DOM方法,它只移动DOM节点。正文的内容仍然是元素。xmp元素只提供了一个自定义HTML解析算法。因此,您需要重新分析所有源代码

如果我编写这样的代码:

<body>
    <xmp>
        <p>hello world</p>
        <div></div>
    </xmp>
</body>

为什么会发生这种情况以及如何修复?

免责声明:您不应使用

它不起作用,因为您使用的是DOM方法,它只移动DOM节点。正文的内容仍然是元素。xmp元素只提供了一个自定义HTML解析算法。因此,您需要重新分析所有源代码。这将销毁元素的所有内部数据

var xmp=document.createElement('xmp');
xmp.innerHTML=document.body.innerHTML;//自定义XMP解析
document.body.innerHTML=“”;//删除当前内容
document.body.appendChild(xmp);//插入XMP
你好,世界


免责声明:您不应使用

它不起作用,因为您使用的是DOM方法,它只移动DOM节点。正文的内容仍然是元素。xmp元素只提供了一个自定义HTML解析算法。因此,您需要重新分析所有源代码。这将销毁元素的所有内部数据

var xmp=document.createElement('xmp');
xmp.innerHTML=document.body.innerHTML;//自定义XMP解析
document.body.innerHTML=“”;//删除当前内容
document.body.appendChild(xmp);//插入XMP
你好,世界


。过时的。此功能已过时。尽管它在某些浏览器中仍然可以工作,但不鼓励使用它,因为它可以随时删除。尽量避免使用它。你的期望是什么?@RajaprabhuAravindasamy只是说,我想在输出中看到标签。。过时的。此功能已过时。尽管它在某些浏览器中仍然可以工作,但不鼓励使用它,因为它可以随时删除。尽量避免使用它。你的期望是什么?@RajaprabhuAravindasamy简单地说,我想在输出中看到标记。嗯,第二种(即没有xmp)方法适用于我问题中提供的代码。但是,如果在主体内部有
foo-foo
,则输出仍然不正确。
标记不知何故在
foo-foo
行下方。@johnc.j。是的,因为这是不正确的标记,它已经被解析为HTML。如果您想要原始源代码,您将需要一个AJAX请求。嗯,第二种方法(即没有xmp)适用于我问题中提供的代码。但是,如果在主体内部有
foo-foo
,则输出仍然不正确。
标记不知何故在
foo-foo
行下方。@johnc.j。是的,因为这是不正确的标记,它已经被解析为HTML。如果需要原始源代码,则需要AJAX请求。
<p>hello world</p>
<div></div>
<body>
    <p>hello world</p>
    <div></div>
</body>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>$( "body" ).wrapInner( "<xmp />" );</script>
hello world