0

我正在使用 Snippet jQuery 语法荧光笔。 http://steamdev.com/snippet/

首次显示文本时,其语法正确显示。但是当我更改文本时,脚本不起作用。

Javascript:

<script type="text/javascript">
  $(document).ready(function(){
    $("pre.ruby").snippet("ruby",{style:"neon"});
  })

  //This function remove all #aside child elements, recreate child #code
  //And change text inner #code
  function loadUrl(url) {
var node = dojo.byId("aside");


while (node.hasChildNodes()) {
      node.removeChild(node.lastChild);
}

var aside = document.getElementById('aside');
aside.innerHTML = "<pre id='code' class='ruby'> </pre>";


$("#code").load(url);
$("pre.ruby").snippet("ruby",{style:"neon"});

   }
 </script>

HTML:

<div id="aside">
  <pre id="code" class="ruby">
  </pre>
</div>
4

1 回答 1

1

load()在您第二次应用语法突出显示之前未完成。您应该将语法调用移至load()的完成回调。

$("#code").load(url, function() {
    $("pre.ruby").snippet("ruby",{style:"neon"});
});
于 2012-05-02T14:18:41.083 回答