多次调用javascript函数

Call javascript function multiple times

本文关键字:函数 javascript 调用      更新时间:2023-09-26

所以,我在寻找解决这个问题的方法时遇到了一些困难。我知道这看起来很傻,但我真的很纠结。

我有这样的东西:

<div class="tdate">
    Sat Oct 11 01:11:01 +0000 2014
</div>
<div class="tdate">
    Sat Oct 11 01:10:44 +0000 2014
</div>
<div class="tdate">
    Sat Oct 11 00:51:03 +0000 2014
</div>

这个javascript函数:

function parseTwitterDate(tdate) {
    var system_date = new Date(Date.parse(tdate));
    var user_date = new Date();
    if (K.ie) {
        system_date = Date.parse(tdate.replace(/( '+)/, ' UTC$1'))
    }
    var diff = Math.floor((user_date - system_date) / 1000);
    if (diff <= 1) {return "just now";}
    if (diff < 20) {return diff + " seconds ago";}
    if (diff < 40) {return "half a minute ago";}
    if (diff < 60) {return "less than a minute ago";}
    if (diff <= 90) {return "one minute ago";}
    if (diff <= 3540) {return Math.round(diff / 60) + " minutes ago";}
    if (diff <= 5400) {return "1 hour ago";}
    if (diff <= 86400) {return Math.round(diff / 3600) + " hours ago";}
    if (diff <= 129600) {return "1 day ago";}
    if (diff < 604800) {return Math.round(diff / 86400) + " days ago";}
    if (diff <= 777600) {return "1 week ago";}
    return "on " + system_date;
}
var K = function () {
    var a = navigator.userAgent;
    return {
        ie: a.match(/MSIE's([^;]*)/)
    }
}();

我想做的是将所有.tdate更改为新格式(这就是我的javascript所做的)。但我不知道如何调用这个函数来更改所有不同的.tdate。如果我调用parseTwitterDate("Sat Oct 11 00:51:03+0000 2014"),它会起作用,但只有一次。

基本上,我想看到我页面上的所有日期,格式如下:"Sat Oct 11 01:11:01+00000 2014"改为:"47分钟前"(或其他输出)。但是我不知道如何调用函数parseTwitterDate(tdate)。

很抱歉我解释得很糟糕。如果我不够清楚,请告诉我。

非常感谢任何能帮助我的人。

非常感谢!:)

由于您正在使用JQuery(或者至少使用了JQuery标记),因此可以执行此

$(function () {
    $('.tdate').each(function (index, value) {
        $(value).html(parseTwitterDate(($(value).html())))
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tdate">
  Sat Oct 11 01:11:01 +0000 2014
</div>
<div class="tdate">
  Sat Oct 11 01:10:44 +0000 2014
</div>
<div class="tdate">
  Sat Oct 11 00:51:03 +0000 2014
</div>

Waup!将其添加到javascript文件中。

...
[].forEach.call(document.getElementsByClassName("tdate"), function(tdate) {
  tdate.innerHTML = parseTwitterDate(tdate.innerHTML);
});
$('.tdate').each(function() {
    $(this).text(parseTwitterDate($(this).text()));
});