Discuss / JavaScript / 理解的还不够深,还是有错误,稍后再仔细看看

理解的还不够深,还是有错误,稍后再仔细看看

Topic source

lm0077

#1 Created at ... [Delete] [Delete and Lock User]
selectAll.change(function (){
  if(selectAll.is(':checked')){
    langs.prop('checked',true);
    selectAllLabel.hide();
    deselectAllLabel.show();
  }else{
    langs.prop('checked',false);
    selectAllLabel.show();
    deselectAllLabel.hide();
  }
});
langs.change(function (){
  let tmp = true;
  for(let i=0;i<langs.length;i++){
    if(!langs[i].is(':checked') ){
      tmp = false;
    }
  }
  if(tmp){
    selectAll.prop('checked',true);
    selectAllLabel.hide();
    deselectAllLabel.show();
  }else{
    selectAll.prop('checked',false);
    selectAllLabel.show();
    deselectAllLabel.hide();
  }
});
invertSelect.click(function (){
  for(let i=0;i<langs.length;i++){
    //langs[i].prop('checked',!langs[i].is(':checked'));
    langs[i].checked = !langs[i].checked;
  }
  langs.change();
});

lm0077

#2 Created at ... [Delete] [Delete and Lock User]

发现上面代码把jQuery对象和Dom对象搞混了。

if(!langs[i].is(':checked') )

这里langs[i]已经是DOM对象了。所以不能用is。


  • 1

Reply