我正在尝试构建一个HTML元素库(如Twitter Bootstrap),我希望在正确的代码标记旁边有一个元素的实时版本(例如按钮)。
我正在尝试使用Prettify来显示类似<button>Button</button>
的内容,但它似乎无法正常工作。
以下是我在查看页面时看到的内容:
问题:我在这里做错了什么?
以下是相关的HTML:
<html>
<head>
<title>Common HTML Library</title>
<link type="text/css" rel="stylesheet" href="common.css" />
<link type="text/css" rel="stylesheet" href="prettify/prettify.css" />
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="prettify/prettify.js"></script>
<script type="text/javascript">
$(document).ready(function() {
prettyPrint();
});
</script>
</head>
<body>
<h1>Buttons</h1>
<table>
<thead>
<tr>
<th>Element</th>
<th>Description</th>
<th>Markup</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<button>Button</button>
</td>
<td>Standard Button</td>
<td>
<code class="prettyprint">
<button>Button</button>
</code>
</td>
</tr>
<tr>
<td>
<button class="primary">Button</button>
</td>
<td>Primary Button</td>
<td>
<code class="prettyprint">
<button class="primary">Button</button>
</code>
</td>
</tr>
<tr>
<td>
<button disabled="disabled">Button</button>
</td>
<td>Disabled Button</td>
<td>
<code class="prettyprint">
<button disabled="disabled">Button</button>
</code>
</td>
</tr>
</tbody>
</table>
</body>
</html>
修改
我尝试设置语言并使用<pre>
这样,并获得以下内容:
<pre class="prettyprint lang-html">
<button>Button</button>
</pre>
答案 0 :(得分:1)
尝试设置语言并转义括号/引号:
<code class="prettyprint lang-html">
<button class="primary">Button</button>
</code>
更新
嗯,实际上我认为您需要使用 <pre>
代替<code>
更新2:尝试此代码(demo):
$(document).ready(function() {
$('.prettyprint').html(function(i,h){
return h.replace(/[<>\"\'\t\n]/g, function(m) { return {
'<' : '<',
'>' : '>',
"'" : ''',
'"' : '"',
'\t': ' ',
'\n': '<br/>' // needed for IE
}[m]});
});
prettyPrint();
});