为生成的字符串进行整理

时间:2014-01-10 02:12:04

标签: javascript jquery syntax-highlighting

当我选择下拉框时,我正在尝试对生成的字符串应用美化语法高亮显示。如果文本放在前面,它可以正常工作,但如果生成它,文本不会突出显示。我试过调用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" );
        });
        }
    );

1 个答案:

答案 0 :(得分:1)

以下是documentation

的详细答案

如果您加载此脚本,则无需调用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 ,而非加载单独的