Тег времени Html 5, не распознанный IE8 при клонировании

Я испытывал затруднения, заставляя IE распознать новый тег Времени в этом контексте. Это все работает отлично в И следующие. Вот код:

var origComment = $('.articleComment:first div');
if (origComment.length > 0) {
var commentHtml = origComment.clone(true);
commentHtml.find('time').text('today');
var html = '<article class="' + ((side == 'LEFT') ? '' : 'that') + '">' + commentHtml.html() + '</article>';
$(html).insertAfter('.articleComment:last');

HTML выглядит примерно так:

<article class="articleComment that">
<div id="156" class="parent">
    <div class="byline">
    <p>Posted <time pubdate="pubdate" datetime="2010-05-07T09:11:08">today</time> by<br/>
        <a class="username" href="/u/matt">matt</a>
        </p>
        <p class="report"><a href="#">Report?</a></p>
    </div>
    <div class="comment">left</div>
</div>
</article>

IE может найти тег Времени, но он возвращает набор 2 элементов. Я принимаю начало и окончание. Однако я не могу получить доступ к нему для изменения его. Я попробовал val (), HTML () и текст (). Я также не могу опуститься до фактического HTMLElement. Я не могу добраться (0) .innerHTML. Но, если я .get (0) .tagName, это на самом деле - тег Времени, который я имею.

Какие-либо идеи? Я надеюсь, что это имеет смысл.

5
задан James A Mohler 2 February 2015 в 21:04
поделиться

2 ответа

Делан Азабани прав насчет IE 8 и его поддержки этих новых элементов HTML5. Это не так.

Хороший способ справиться с поддержкой "нижнего уровня" - использовать эту заточку.

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Нашел здесь: http://code.google.com/p/html5shiv/

Он даже поддерживает печать в IE<9, что является сложным вопросом, если вам это нужно.

7
ответ дан 18 December 2019 в 13:11
поделиться

IE 8 не поддерживает HTML 5.

Правка

Чтобы увеличить совместимость в DOM для новых тегов, выполните следующий код в блоке сценариев в head:

var h5tags = 'abbr,article,aside,audio,bb,canvas,datagrid,datalist,\
 details,dialog,eventsource,figure,footer,header,\
 hgroup,mark,menu,meter,nav,output,progress,section,\
 time,video'.split(',');
for (var i = 0; i < h5tags.length; i++)
  document.createElement(h5tags[i]);

Еще одна правка: я собирался использовать .forEach() в приведенном выше коде, но, о, подождите... IE 8 не поддерживает JavaScript 1.6. Да.

7
ответ дан 18 December 2019 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: