Проблема в том, что IE не учитывает всех переносов строк \n в блоках, считает их не важными, как и просто пробелы. Поэтому часть их он просто напросто вырезает. Исключение составляют элементы pre и textarea, в которых он все сохраняет в точности. Таким образом, в твоем случае тебе надо убрать элемент code, чтобы все работало.
var html = $(this).html(), ...