我正在创建一个使用jQuery .load()的网站,在另一个.html页面上显示存储在div中的内容,如下所示
index.html负责人:
<link href="css/prism.css" rel="stylesheet" />
<script type="text/javascript" src="js/prism.js"></script>
的index.html:
$('#content').load('project_info.html #example', function() { $(this).fadeIn(".25s"); });
project_info.html的相应div:
<div id="example">
<pre><code class="language-css">p { color: red }</code></pre>
</div>
我正在尝试正确显示prism.js代码块,而
<pre><code class="language-css">p { color: red }</code></pre>
当我将它嵌入index.html时,正常工作,它似乎不会继承prism.js文件,只是prism.css样式表。似乎prism.js文件不会操纵“内容”div。有什么想法吗?
答案 0 :(得分:1)
将远程内容加载到页面后,您需要手动为其应用棱镜。经过一些简短的搜索,看起来像prism.js提供了这种方法:
highlightElement: function(element, async, callback) { ... }
我假设可以使用Prism.highlightElement(document.getElementById('example'))
突出显示#example
内的代码。
(另见本例:https://github.com/PrismJS/prism/blob/b551696fbdf8905d52ca67e1a9ae50a3ccfeab92/examples.js)