Можно создать дубликат:
jquery load issueСинтаксисHighlighter.all() не работает на уровне DOM?
Я загрузка содержимого динамически в DIV с помощью нагрузки JQuery() функции. В обратном вызове я вызываю SyntaxHighlighter.all(), , чтобы печатать синтаксис предварительного блока, который только что загрузился в div.
Проблема заключается в том, что содержимое загружается нормально, но синтаксис не выделяется. Однако, когда я жестко задал pre-блок в div, чтобы не загружать в DOM через функцию jquery load(), синтаксис get выделяется как следует.
Итак, я предполагаю, что SyntaxHighlighter.all() работает только с предварительными блоками, которые находятся в источнике html, которые можно просмотреть с использованием источника страницы просмотра, а не на фактическом содержимом в DOM?
Любая идея, как я могу заставить ее работать?
Javascript, чтобы сделать загрузку и выделение:
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
$(document).ready(function() {
var tree = $("#tree li");
var contentContainer = $("#contentContainer");
var content = $("#content");
SyntaxHighlighter.config.clipboardSwf = 'syntaxhighlighter_2.0.320/scripts/clipboard.swf';
SyntaxHighlighter.all();
// Treeview
$("#tree").treeview({
persist: "location",
collapsed: true
});
tree.click(function() {
if ($(this).hasClass("file")) {
tree.removeClass("selected");
$(this).addClass("selected");
content.load("content/"+this.id+".html", function() {
contentContainer.effect("highlight");
SyntaxHighlighter.all();
});
}
});
});
</script>
содержание DIV:
<div id="content">
<pre class="brush: java;">
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
</pre>
</div>
внешний файл, который загружается с jQuery.load():
Hello World
<pre class="brush: java;">
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
</pre>
С уважением
http://alexgorbatchev.com/wiki - SyntaxHighlighter? Кроме того, можете ли вы показать код, который вы используете для загрузки элемента, а затем выделить? – gnarf
Да, это тот. Я отредактировал исходный вопрос с информацией, которую вы просили. – nkr1pt
Dup: http://stackoverflow.com/questions/1370738/jquery-load-issue –