JQuery в Internet Explorer не может разобрать строку HTML - PullRequest
2 голосов
/ 09 февраля 2011

Я пытаюсь проанализировать строку HTML в Internet Explorer с помощью jQuery, основываясь на: Синтаксическом анализе строки HTML с помощью Ajax / jQuery вот код:

alert(result);
alert($(result));

Первое предупреждение запрашивает HTML, но второе предупреждение только дает мне объект. На консоли Firebug Lite это дает мне пустой объект: [] !!

console.log(result)
console.log($(result))

результат - большой код XHTML, полученный через вызов AJAX. Тот же код работает на Firefox ..

Кто-нибудь знает, почему это может происходить? Ваша помощь очень ценится! ..

1 Ответ

1 голос
/ 09 февраля 2011

Не видя HTML-код, трудно сказать, но я должен был бы догадаться, что вы нажимаете "Неизвестная ошибка времени выполнения" , которая возникает, когда вы неверно пытаетесь поместить элемент в это не разрешено.

Видите ли, jQuery строит DOM из (X) HTML, создавая отдельный элемент и применяя (X) HTML к свойству innerHTML этого элемента. FWIW, ни один из браузеров не заботится о том, что вы передаете XHTML или HTML, если только вы не используете тип MHM XHTML, который доставит вам большие проблемы. Если вы считаете следующий простой код JS:

var p = document.createElement("p");
p.innerHTML = "<li>Test</li>";

Internet Explorer с выдачей очень бесполезного "Неизвестная ошибка времени выполнения" , тогда как Firefox приложит все усилия, чтобы спасти недопустимый HTML.

Я бы порекомендовал пропустить ваш XHTML через W3C Validator и проверить его на наличие ошибок валидации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...