Jquery 根据每个部门的生日计算年龄
我有一个JQuery代码来根据日期计算年龄,但我似乎不能应用于多个DivJquery 根据每个部门的生日计算年龄,jquery,Jquery,我有一个JQuery代码来根据日期计算年龄,但我似乎不能应用于多个Div <div class="bday"> <span id="age"></span> <span id="birthdate">01/21/1983</span> </div> <div class="bday"> <span id="age"></span> <span
<div class="bday">
<span id="age"></span>
<span id="birthdate">01/21/1983</span>
</div>
<div class="bday">
<span id="age"></span>
<span id="birthdate">01/21/1982</span>
</div>
<div class="bday">
<span id="age"></span>
<span id="birthdate">01/21/1981</span>
</div>
$('#birthdate').each(function() {
var ptag = $(this).text();
var birthdate = new Date(ptag);
var cur = new Date();
var diff = cur - birthdate;
var age = Math.floor(diff / 31536000000);
$('#age').append(age);
});
01/21/1983
01/21/1982
01/21/1981
$('#birthdate')。每个(函数(){
var ptag=$(this.text();
var出生日期=新日期(ptag);
var cur=新日期();
var diff=cur-出生日期;
变量年龄=数学下限(差值/31536000000);
$('年龄')。附加(年龄);
});
我上了累人的课,但每个时段都出现了所有的年龄段。
我还可以做些什么,使此代码应用于每个div,而不是出现在一个div上?请使用此HTML:
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1983</span>
</div>
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1982</span>
</div>
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1981</span>
</div>
我只将id改为Class和append line。正如我评论您的问题时所说的,您必须将所有is改为Class,然后使用最接近的函数fir查找父项,然后查找另一个作为生日兄弟的子项 此外,您也不能使用append,因为它将始终附加以前的数据。因此,请使用text()或html() 您修改的jQuery:
$('.birthdate').each(function() {
var ptag = $(this).text();
var birthdate = new Date(ptag);
var cur = new Date();
var diff = cur - birthdate;
var age = Math.floor(diff / 31536000000);
$(this).closest("div").find('.age').html(age);
});
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1983</span>
</div>
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1982</span>
</div>
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1981</span>
</div>
您修改的HTML:
$('.birthdate').each(function() {
var ptag = $(this).text();
var birthdate = new Date(ptag);
var cur = new Date();
var diff = cur - birthdate;
var age = Math.floor(diff / 31536000000);
$(this).closest("div").find('.age').html(age);
});
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1983</span>
</div>
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1982</span>
</div>
<div class="bday">
<span class="age"></span>
<span class="birthdate">01/21/1981</span>
</div>
01/21/1983
01/21/1982
01/21/1981
不能将多个id用作同一名称。为此使用类。id
应该是唯一的,并用于页面上的单个元素<当您需要选择多个元素时,应使用code>class。感谢您的努力!谢谢你的努力为什么你要复制粘贴答案?弗雷恩·科诺克你在说什么@javedrathod@javedrathod,请查看我在评论中对此问题的回答。然后责怪我,我在本地做了这件事,然后我把这个答案贴在这个问题上。我不是复印机,我只是说你抄我的答案。并且只将“.bday”更改为div