我有一个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)
在我的上下文中返回了什么?我确信它应该返回我刚用我的选择器(单元格)调用的当前元素
你能给我一个提示吗?
很多答案 0 :(得分:1)
你应该遍历每个年龄并使用jquery .each
设置他们的html$(".age").each(function(){....});
FIDDLE:http://jsfiddle.net/Yyene/