Javascript 右键单击生成下一个日期序列<;李>;
我想在点击右箭头时得到接下来的7个日期序列。 我不知道如何引用我的li元素。我试着使用this和li.append,但它们都不适合我Javascript 右键单击生成下一个日期序列<;李>;,javascript,jquery,Javascript,Jquery,我想在点击右箭头时得到接下来的7个日期序列。 我不知道如何引用我的li元素。我试着使用this和li.append,但它们都不适合我 $('.rightarrow')。在('click',function()上{ 变量y=1; var currentDateCGH=新日期(); var date=currentDateCGH.getDate()+7; var monthArr=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十
$('.rightarrow')。在('click',function()上{
变量y=1;
var currentDateCGH=新日期();
var date=currentDateCGH.getDate()+7;
var monthArr=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
var currMonth=monthar[currentDateCGH.getMonth()];
var currYear=currentDateCGH.getFullYear();
$(“.dateslots li:empty”).each(function(){
//$(“”)。追加((日期+y)+“-”+货币月);
//$(此).text((日期+y)+“-”+当前月);
y++;
});
});代码>
li:empty
仅在第一次执行时起作用,因为这些元素不会在每次后续执行时都为空。因此,您需要更加明确地选择元素的方式。我喜欢先做最简单的事情(只需选择所有li
元素,然后只对您想要的元素进行操作)。对于不同的类应用程序,这个选择可以更加具体,但是现在,以下内容就足够了
$(“.dateslots li”)。每个(函数(){
//将我们的元素转换为jquery元素
var$li=$(本);
//忽略箭头
if($li.hasClass('leftarrow')| |$li.hasClass('rightarrow')){
返回;
}
//对于每一个其他的,我们想增加一些价值,我们的日期
//该值恰好与任何元素以前的兄弟数相同
//不需要一个y形计数器
$li.text((日期+$li.prevAll().length)+“-”+当前月份);
});
有关prevAll
功能的更多信息
此函数之前存在一些逻辑问题,无论单击向右箭头多少次,它都只会显示接下来的7天,但这应该可以解决修改与所构造日期值相关的li元素的问题。您的代码使用li:empty
和$(this)。text(…
(该部分已注释)-您不想在此处使用.append()
。请注意,您的代码在接近月末时无法工作-您需要在向月份对象添加天数,而不是使用(dayofmonth+1)
。您的.dateslots li:empty
选择器应该可以正常工作,然后在回调中引用此
就可以了。当然,这只会在第一次起作用,因为在右箭头的第二次单击时它们不会为空。下一步:只能够使用此选项一次-最简单的选择是为每个您的li
s是一个类,例如
然后$(“.dateslots li.date”)。每个@freedomn-m或删除:empty
限制