Просто оставьте это, чтобы внести свой вклад в обсуждение.
Скрипт при условии, что @Gidon, похоже, не работает в IE8 (протестировано на двух разных машинах). Мне пришлось переделать плагин jQuery другим способом, см. Ниже:
/**
* Enable HTML5 Elements on the fly. IE needs to create html5 elements every time.
* @author Gidon
* @author Julio Vedovatto <juliovedovatto@gmail.com>
* @see /1973856/kak-vklychit-elementy-html5-v-ie-8-kotorye-byli-vstavleny-vyzovom-ajax
*/
(function ($) {
jQuery.fn.html5Enabler = function () {
var element = this;
if (!$.browser.msie)
return element;
$.each(
['abbr','article','aside','audio','canvas','details','figcaption','figure','footer','header','hgroup','mark','menu','meter','nav','output','progress','section','summary','time','video'],
function() {
if ($(element).find(this).size() > 0) {
$(element).find(this).each(function(k,child){
var el = $(document.createElement(child.tagName));
for (var i = 0; i < child.attributes.length; i++)
el.attr(child.attributes[i].nodeName, child.attributes[i].nodeValue);
el.html(child.innerHTML);
$(child).replaceWith(el);
});
}
}
);
};
})(jQuery);