Mam problemy z rozpoznaniem nowego znacznika czasu w tym kontekście. Wszystko działa świetnie w FF. Oto kod:Html 5 Znacznik czasu nie został rozpoznany przez IE8 podczas klonowania
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 wygląda tak:
<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 można znaleźć znacznik czasu, ale zwraca kolekcję 2 elementów. Zakładam początek i koniec. Nie mogę jednak uzyskać do niego dostępu, aby go zmodyfikować. Próbowałem val(), html() i text(). Nie mogę również przejść do rzeczywistego HTMLElement. Nie mogę uzyskać (0) .innerHTML. Ale jeśli .get (0) .tagName, to jest to znacznik czasu, który mam.
Wszelkie pomysły? Mam nadzieję, że to ma sens.
Należy stwierdzić, że używam html5shiv do tworzenia nieistniejących elementów. To powinno ich poprawić? – matsientst
Tak. Jeśli używasz shiv, powyższy kod jest zbędny. –