Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 右键单击生成下一个日期序列<;李>;_Javascript_Jquery - Fatal编程技术网

Javascript 右键单击生成下一个日期序列<;李>;

Javascript 右键单击生成下一个日期序列<;李>;,javascript,jquery,Javascript,Jquery,我想在点击右箭头时得到接下来的7个日期序列。 我不知道如何引用我的li元素。我试着使用this和li.append,但它们都不适合我 $('.rightarrow')。在('click',function()上{ 变量y=1; var currentDateCGH=新日期(); var date=currentDateCGH.getDate()+7; var monthArr=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十

我想在点击右箭头时得到接下来的7个日期序列。 我不知道如何引用我的li元素。我试着使用this和li.append,但它们都不适合我

$('.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
    限制