@Fierfoxik

Как написать условие если строки столбцы не равны?

При нажатии на клавишу умножении идет условие, если строки или столбцы не равны то кидается класс error на левый блок и меняется бг и появляется текст ошибки в блоке.Но проблема в том что пришлось пистаь 2 функции для строк и столбцов и когда строка не равна а столбец равен класс не добавляется.Как можно сделать условие при котором если не равны строки и столбцы он выдает ошибку,да же если строка равна а столбец нет.
Codepen
var matA_str = $('.matrix_a');
  
  var matB_str = $('.matrix_b');
  
  
  function error_str() {
    if (matA_str.find ('tr').length != matB_str.find ('tr').length){
        $('.left-side').addClass('error');
    }
    else{
      $('.left-side').removeClass('error');
    }
    
  }
  function error_col() {
    if (matA_str.find ('tr:first td').length != matB_str.find ('tr:first td').length){
        $('.left-side').addClass('error');
    }
    else{
      $('.left-side').removeClass('error');
    }
    
  }
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@Xandrmoro
когда строка не равна а столбец равен класс не добавляется

Предполагаю, что сначала добавляется, а потом в error_col убирается. Если обязательно иметь две функции - можно, например, в error_str добавлять ещё класс, который помечает ячейку как только что проверенную, и в error_col проверять.

function error_str() {
    if (matA_str.find ('tr').length != matB_str.find ('tr').length){
        $('.left-side').addClass('error strError');
    }
    else{
      $('.left-side').removeClass('error');
    }
  }

  function error_col() {
    if (matA_str.find ('tr:first td').length != matB_str.find ('tr:first td').length){
        $('.left-side').addClass('error');
    }  
    else {
      if (!$('.left-side').hasClass('strError')) {
           $('.left-side').removeClass('error');
      }
    } 
    $('.left-side').removeClass('strError');    
  }


Но лучше всё же делать это в одном месте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы