首页新闻找找看学习计划

JQuery html timeago

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-07-14 23:17

我用的是timeago计算友好时间。

第一种情况 <time class="timeago" datetime="2014-06-26T16:30:20.973"></time>
$(function () {
            $(".timeago").timeago();
        }); 

我在后台拼的字符串

第二种情况<time class=\"timeago\" datetime=\""+p.DT_UPLOADTIME +"\"></time>

在javascript中用innerHTML拼的字符串

第三种情况<time class="timeago" datetime="'+this.DT_UPLOADTIME +'"></time>

在第一和第二种情况下时间在页面都能正常显示时间,但是在第三种情况下却不能。参数都是对的。我把第三种情况下生成的HTML放刀页面,也还是能显示。为什么第三种情况下显示不了呢?什么原因呢?

Vivu的主页 Vivu | 菜鸟二级 | 园豆:450
提问于:2014-07-10 10:47
< >
分享
所有回答(3)
0

datetime="'+this.DT_UPLOADTIME +'" 。

这不就是一个字符串么....

Cherbim | 园豆:318 (菜鸟二级) | 2014-07-10 11:39

值是对的,能取到值。

支持(0) 反对(0) Vivu | 园豆:450 (菜鸟二级) | 2014-07-10 11:41
0

第一种情况 浏览器可以解析,因为是html文件

第二种情况 浏览器可以解析,因为是后台生成的html文件

第三种情况 浏览器不可以解析,因为html文件中datetime="'+this.DT_UPLOADTIME +'"带颜色的部分是一个字符串,字符串怎么能够当成脚本来执行呢?

刘宏玺 | 园豆:14004 (专家六级) | 2014-07-10 11:48

我是用的innerHTML,这个是在javascript脚本里面,那该怎么把javascript的值传到html呢?

支持(0) 反对(0) Vivu | 园豆:450 (菜鸟二级) | 2014-07-10 13:01

@Vivu: $(".timeago").attr("datetime",this.DT_UPLOADTIME);

支持(0) 反对(0) 刘宏玺 | 园豆:14004 (专家六级) | 2014-07-10 16:41
0

第二种原因不能取到值,是因为用了ajax,其实datetime的值是能取到的。在ajax请求回来后再调用一次timeago的方法就对了。

Vivu | 园豆:450 (菜鸟二级) | 2014-07-14 23:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册