jQuery .load()另一个包含prism.js的页面

时间:2015-03-30 19:51:47

标签: javascript jquery html css prism.js

我正在创建一个使用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。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

将远程内容加载到页面后,您需要手动为其应用棱镜。经过一些简短的搜索,看起来像prism.js提供了这种方法:

highlightElement: function(element, async, callback) { ... }

我假设可以使用Prism.highlightElement(document.getElementById('example'))突出显示#example内的代码。

(另见本例:https://github.com/PrismJS/prism/blob/b551696fbdf8905d52ca67e1a9ae50a3ccfeab92/examples.js