this的问题,如何获取this父元素的序号?

html:
开始时间:
截至时间:
*
建议以30分钟或1小时为分时间隔最佳
库存
*
输入-1表示不限制库存数量
  • 是动态添加的
    functiontime_option_add(){
    //获取当前最后一个分时预约选项
    var_thisli=$('.time_option_li:last');
    //判断最多添加10个
    if(_thisli.siblings().length<9){
    //在当前选项后插入新的选项
    _thisli.clone(true).insertAfter(_thisli);
    //为新创建的选项添加消除事件
    //$('.time_option_li:last').children('.time_option_reduce').bind('click',removeli());
    //添加新的时间对象
    varnw_start_time=newDate(1970,1,1,0,0,0);
    varnw_end_time=newDate(1970,1,1,23,59,0);
    st_time.push(nw_start_time);
    ed_time.push(nw_end_time);
    console.log(st_time);
    console.log(ed_time);
    }else{
    errorMsg(['一次性最多添加10个分时预约'])
    }
    };
    现在每次点击this的指向总是输出-1
    functiontime_option_reduce(){
    console.log($(this).parent().index());//输出-1
    //var_thisli=$('.time_option_li:last');
    //console.log(_thisli.siblings().length);
    //if(_thisli.siblings().length==1){
    //errorMsg(['至少设置1个分时预约'])
    //}else{
    //var_thisP=$(this).parent();
    //li_num=_thisP.index();
    //console.log(li_num);
    ////_thisP.slideUp(500,function(){
    ////_thisP.remove();
    ////});
    //}
    }
  • 胡子哥哥
    浏览 292回答 2
    2回答

    慕勒3428872

    time_option_reduce方法中的this一直指向的是window,可以修改如下functiontime_option_reduce(_this){console.log($(_this).parent().index());}

    慕标5832272

    谢邀,在onclick属性里把括号去掉试试~不过更建议你用事件代理,直接:$(document).on('click','.time_option_li',time_option_reduce);就可以跳过动态元素的限制了。当然记得把onclick属性清掉。
    打开App,查看更多内容
    随时随地看视频慕课网APP

    相关分类

    JavaScript