![](/img/trans.png)
[英]show html tags in html content, show html code snippet in html
[英]rendering xml and html tags in a code snippet HTML
简单地,如何使用<html>
标签呈现代码片段
<div id="container">
<div id="header_area"><tiles:insertAttribute name="header" /></div>
<div id="body_area"><tiles:insertAttribute name="body" /></div>
<div id="sidebar_area"><tiles:insertAttribute name="sidebar" /></div>
<div id="footer_area"><tiles:insertAttribute name="footer" /></div>
</div>
我找到了此代码。但是它向所有/>
添加了结尾标签
function encodePreElements() {
var pre = document.getElementsByTagName('pre');
for(var i = 0; i < pre.length; i++) {
var encoded = htmlEncode(pre[i].innerHTML);
pre[i].innerHTML = encoded;
}
};
function htmlEncode(value) {
var div = document.createElement('div');
var text = document.createTextNode(value);
div.appendChild(text);
return div.innerHTML;
}
所以上面的代码会像这样
<div id="container">
<div id="header_area"><tiles:insertattribute name="header"></tiles:insertattribute></div>
<div id="body_area"><tiles:insertattribute name="body"></tiles:insertattribute></div>
<div id="sidebar_area"><tiles:insertattribute name="sidebar"></tiles:insertattribute></div>
<div id="footer_area"><tiles:insertattribute name="footer"></tiles:insertattribute></div>
</div>
.innerHTML
可在javascript alert
正确呈现。 所以我怎样才能像第一个那样呈现代码片段? 进行此过程的简单方法是什么?
好的,所以我假设在您的问题中,第一个引用的块嵌入在<pre>
元素内,如下所示: <pre> <div id="container"> ... </div> </pre>
并且您正在尝试将其转换为<pre> <div ... </pre>
问题在于,在加载页面时, <pre>
的内容将加载到DOM中 。 当您获得pre[i].innerHTML
的值时,它将返回一个可以准确表示DOM状态但与原始HTML不同的值。
如果要保留页面中使用的确切HTML,则在生成page时需要对HTML进行编码 。 当任何JavaScript都可以访问内容时,已经为时已晚-原始HTML消失了,剩下的就是DOM内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.