我需要通过获取当前年份使其成为第一个导航元素来使用 jQuery 构建导航。然后构建其他列表项以显示随后的年份...我的问题是针对我希望能够执行的 jQuery 函数内的列表项的兄弟姐妹,以便我可以轻松地在多个页面上运行该函数...这里是我到目前为止所拥有的......如果它有助于请求它,我可以设置一个小提琴。
这是成功/工作的代码,但没有包含在 jQuery 函数中:
$currentYear = (new Date).getFullYear();
$navListEl = $("#yearNav li").length; // = 7
$lastYear=0;
for (var i=1;i<$navListEl+1;i++)
{
$("#yearNav li"+":nth-child("+i+")").append($currentYear-$lastYear);
$lastYear++;
}
第一次尝试:
jQuery.fn.createNav = function(){
$currentYear = (new Date).getFullYear();
$navListEl = $(this).length; // = 7
alert('hey');
$lastYear=0;
for (var i=1;i<$navListEl+1;i++)
{
$(this+":nth-child("+i+")").append($currentYear-$lastYear);
$lastYear++;
}
}
$("#yearNav li").createNav();
第二次尝试:(这个有点工作,但在每个 li 项目上复制了 nmbers,而不是在每个项目上复制一次)
jQuery.fn.createNav = function(){
$currentYear = (new Date).getFullYear();
$navListEl = $(this).length; // = 7
$lastYear = 0;
for (var i=1;i<$navListEl+1;i++)
{
$(this).append($currentYear-$lastYear);
$lastYear++;
}
}
$("#yearNav li").siblings().createNav();