0

我有一张jsp包含用户信息的表格,并且有一列以格式表示用户的生日yyyy-mm-dd。我想用用户的实际年龄替换这些出生日期。所以我有简单的 JS 函数 getAge :

    function getAge(dateString) {
        var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    return age;
}

我试图在以这种方式初始化页面后运行它:

$().ready(function({
    $(".age").html(getAge($(this).html()));
}));

其中.age是一类“年龄”列。所以这就是我期望它的工作方式:

$(".age")- 找到具有 class="age" 的单元格

$(".age").html(getAge($(this).html()));- 用 getAge() 函数返回的值替换找到的单元格中的 html,其中 getAge 的参数是该单元格中的当前值。但它什么也没显示=(

如果我像这样使用 smthg 进行测试:

$(".age").html(getAge("1960-08-15"));- 它工作正常,并用从 1960-08-15 计算的年龄替换所有行中的生日 =)

也许我不明白$(this)在我的上下文中会返回什么?我确信它应该返回我刚刚用我的选择器(单元格)调用的当前元素

你能给我一个提示吗?

多谢

4

1 回答 1

1

您应该遍历每个年龄并使用 jquery .each 设置他们的 html

$(".age").each(function(){....});

小提琴:http : //jsfiddle.net/Yyene/

于 2013-07-25T13:26:33.503 回答