当我选择下拉框时,我正在尝试对生成的字符串应用美化语法高亮显示。如果文本放在前面,它可以正常工作,但如果生成它,文本不会突出显示。我试过调用prettyPrint()函数,但它仍然不起作用。
$('#db').change(
function(){
query = "";
query = "<pre class=\"prettyprint\" id=\"query\">Insert Into ";
query = query + $('#db').val() + "</pre>";
document.getElementById("pp").innerHTML = query;
prettyPrint();
$.ajax({
url: "functions.php?&f=table",
type: "GET",
data: { db: $('#db').val() }
})
.done(function(result) {
$('#table').html(result);
})
.fail(function() {
alert( "error" );
});
}
);
答案 0 :(得分:1)
如果您加载此脚本,则无需调用prettyPrint()
函数,它将自动使用类prettyprint
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>
但是如果你单独加载css和js文件,那么你需要调用prettyPrint()
<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script>
来自文档:,然后在页面加载完成后运行prettyPrint功能。一种方法是通过onload处理程序:
<body onload="prettyPrint()">
包含脚本的DEMO ,而非加载单独的