Jquery:从页面获取生日值并用年龄值替换

时间:2013-07-25 13:19:56

标签: javascript jquery jsp

我有一个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())); - 在找到的单元格中替换html,并从getAge()函数返回值,其中getAge的参数是该单元格中的当前值。 但它没有显示任何东西=(

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

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

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

你能给我一个提示吗?

很多

1 个答案:

答案 0 :(得分:1)

你应该遍历每个年龄并使用jquery .each

设置他们的html
$(".age").each(function(){....});

FIDDLE:http://jsfiddle.net/Yyene/