mat*_*tst 5 javascript time jquery html5
我一直无法让IE在这种情况下识别新的Time标签.这一切在FF中都很有效.这是代码:
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');
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
IE可以找到Time标签,但它返回2个元素的集合.我假设开始和结束.但是,我无法访问它来修改它.我试过val(),html()和text().我也不能放到实际的HTMLElement.我不能得到(0).innerHTML.但是,如果我.get(0).tagName它实际上是我得到的时间标签.
有任何想法吗?我希望这是有道理的.
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]);
Run Code Online (Sandbox Code Playgroud)
另一个编辑:我打算.forEach()在上面的代码中使用,但是,等等...... IE 8不支持JavaScript 1.6.是啊.
Delan Azabani对IE 8是正确的,它支持那些新的HTML5元素.它没有.
处理"低级"支持的一个好方法是使用这个shiv.
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
在此处找到: http ://code.google.com/p/html5shiv/
它甚至支持IE <9中的打印,如果您需要它,这是一个棘手的问题.