См. решение в нижней части вопроса.
IE 8 (и ниже) не работает с неизвестными элементами (т.е. элементами HTML5), их нельзя стирать или получить доступ к большинству своих реквизитов. Для них это, например, множество работ: http://remysharp.com/2009/01/07/html5-enabling-script/
Проблема заключается в том, что это отлично работает для статического HTML, который был доступен при загрузке страницы, но когда после этого вы создаете элементы HTML5 (например, вызов AJAX, содержащий их или просто создавая с помощью JS), он будет отмечать эти новые добавленные элементы как HTMLUnknownElement
как предполагается HTMLGenericElement
(в отладчике IE).
Кто-нибудь знает об этом, так что новые элементы будут распознаны/включены IE 8?
Вот тестовая страница:
<html><head><title>TIME TEST</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<time>some time</time>
<hr>
<script type="text/javascript">
$("time").text("WORKS GREAT");
$("body").append("<time>NEW ELEMENT</time>"); //simulates AJAX callback insertion
$("time").text("UPDATE");
</script>
</body>
</html>
В IE вы увидите: ОБНОВЛЕНИЕ и НОВЫЙ ЭЛЕМЕНТ. В любом другом современном браузере вы увидите UPDATE и UPDATE