У меня
$('#structure').html(html);
Это отлично работает в FireFox.IE 8 не отображает HTML.Я также попробовал это с простым текстом, например.
$('#structure').html("Test");
или
$('#structure').html("<h3>Test</h3>");
Все не работает с IE 8, но в Firefox.Поэтому я не думаю, что это проблема с недействительным html.
, если я заменю его на
document.write(html);
IE правильно отображает содержимое.
Я потерян,Я также попытался getElementById и установив свойство innerHTML или .empty и добавить.В основном все, что я пробовал, работало в FF, ничего в IE 8.
Код запускается в событии .change (), которое правильно выполняется и в IE.
Любые идеи?
EDIT:
html возвращается сторонним коммерческим плагином.Он возвращает специфичный для браузера код для отображения компонента ActiveX (IE) или плагина (FF).Возвращенный HTML работает.Это не единственное место, где я использую это.
Может быть, вы не можете асинхронно загружать ActiveX?это объясняет все.
$(document).ready(function() {
$('#ID').change(function() {
var value = $(this).val();
getStructure(value);
});
});
function getStructure(id){
$.get(
'getStructure.php?id=' + id,
function(data){
// 3rd party function call:
var html = getObjectTag(182, 172, data.Structure); // data["Structure"] does not work too in IE, it does in FF
// alert(html); // is displayed also in IE when uncommented
$('#structure').html(html);
// alert(html); // is displayed also in IE when uncommented
},
"json"
);
}
<div class="cssform">
<div><label>ID</label><input id="ID" type="text"/></div>
</div
<div id="structure"></div>
Обратите внимание, что в другом приложении я использую:
var html = getObjectTag(182, 172, aData[0]);
$('td:eq(0)', nRow).html(html);
где aData - параметр массива вызывающей функции.Это используется для отображения объекта в таблицах данных плагина jquery, и здесь все работает для IE 8 и FF без проблем.
EDIT2:
Дальнейший «анализ» заставляет меня поверить, что div сid = структура не найдена в IE правильно по тем или иным причинам.
document.getElementById("structure").innerHTML = html;
приводит к ошибке "document.getElementById (...)" является нулевым или не является объектом.используя jquery, селектор, вероятно, ничего не возвращает и, следовательно, больше ничего не делается и ошибки не возникает.Вопрос в том, почему элемент не найден?Не имеет смысла для меня.