Забавно, что вы должны спросить об этом, потому что у меня была довольно похожая проблема (хотя она затрагивала IE7 и, вероятно, IE6).
Кроме того, не уверен, что вы сделали что-то особенное (например, определение переменных), но, возможно, вам следует ссылаться на объекты как $ ('# userListJId'), а не только на имя элемента. Опять же, я не вижу остальной части кода, поэтому вы, возможно, уже определили эти переменные вне документа. * Scope.
Как правило, в IE некоторые атрибуты не могут быть изменены после создания объекта, например, атрибут ID.
Обходной путь - не клонировать объект, по крайней мере, с помощью .clone (), но взять внешний HTML-код объекта, который вы хотите клонировать, в виде строки и выполнить регулярное выражение .replace () для атрибута id, а затем добавьте измененный HTML в tempOwnJString.
Еще одно замечание в IE: иногда (обычно?), Когда он анализирует HTML, он не заключает в кавычки значения атрибутов, если они содержат только буквенно-цифровые символы, поэтому помните об этом в своем шаблоне регулярных выражений.
Вот пример кода, который я использовал.
if ($.browser.msie === true)
{
//unfortunately jQuery doesn't have an outerHTML function, so this is a hacky work around
templateHTML = $("#activityTemplate").clone().wrap('<div>').parent().html();
newHTML = templateHTML.replace(/id\=\w+/ig, 'id='+jsonObj.ContactLogID);
$(newHTML).prependTo($("#activityContainer"));
// in case i need to refer to newly created object
clone = $("#"+jsonObj.ContactLogID);
}
Опять же, я не могу сказать наверняка, если это ваша проблема, но с информацией, которую вы предоставили, и без какой-либо отладочной информации (которую IE6 на самом деле не предоставляет), это лучшее предположение.