我正在回复PHP中的文本,通过我的HTML页面上的AJAX调用加载到我的页面上。我希望Highlight.js完成此文本并突出显示我的语法。但是,它没有突出显示文本。当我直接在HTML页面上执行此操作时:
<pre>
<code id=resultDiv style="text-align:right;">
<p> int main() </p>
</code>
</pre>
它有效。 int main()突出显示。但是,
echo
"int main()";
甚至
echo "<p> int main() </p>"
同样的结果.Div 从我的PHP文件到页面没有突出显示。
有解决方法吗?为什么会这样?
答案 0 :(得分:1)
如果我理解你的问题,你就可以使用Ajax从PHP页面加载内容了。
当使用highlight.js时,它将运行你的html并在&#34; load&#34;之后突出显示所有内容。 event,但是在此事件之后您的Ajax调用是异步发生的,这意味着在hightlight.js完成传递后加载内容。
highlight.js有highlightBlock function会触发代码突出显示传递,在你的情况下它会看起来像下面的代码行
hljs.highlightBlock(document.getElementById("resultDiv"));
在将您的内容添加到DOM 之后,您必须将