Как выполнять математику в if и else в jquery?

#jquery #jquery-ui #jquery-plugins #jquery-selectors #jquery-validate

#jquery #jquery-пользовательский интерфейс #jquery-плагины #jquery-селекторы #jquery-проверка

Вопрос:

Привет, ребята!

Я пытался создать if/else код оператора в jQuery , но, полагаю, мое if/else утверждение покоится с миром! Я не знаю, что происходит не так, я все сделал, и все равно это работает некорректно! Хорошо, вот мой список проблем ~

  1. Мой if/else становится обратным!
  2. И я думаю, что все просто запутывается!
  3. JSLint (в jsFiddle.net ) не показывает ошибки в моем коде jQuery!

Пожалуйста, вот ссылка на демонстрацию моей проблемы ~~~~~~~~~~

ДЕМОНСТРАЦИОННАЯ ЗАДАЧА

Вот мой smaple jQuery код ~~~~~~~~~~

 $(function () {

  var correct = '10';
  var incorrect = '9';

  $('div.correct_incorrect').css("background",function () {

      if( correct > incorrect )
      {
         return "#796";
      }
      else if( correct == incorrect )
      {
         return "#345";
      }
      else
      {
         return "#732";
      }

  });
});
  

Пожалуйста, помогите мне!

ЗАРАНЕЕ СПАСИБО

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Извините, что беспокою ребят, но мой предыдущий вопрос решен, но у меня возникла новая проблема с этим кодом. Здесь я пытаюсь восстановить значение из двух input элементов! Но это не работает.

Пожалуйста, посмотрите здесь —-

ДЕМОНСТРАЦИОННАЯ ЗАДАЧА 2

ЗАРАНЕЕСПАСИБО (и за это тоже!)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ответ №1:

Проблема в том, что correct и incorrect являются строками. Вы можете изменить их на целые числа, чтобы решить вашу проблему:

                   var correct = 10;
                  var incorrect = 9;
  

Кроме того, вы можете использовать parseInt(myNumAsString, 10) для преобразования строки в число во время выполнения.

Комментарии:

1. Эй, ты можешь проверить и это тоже. Поскольку у меня возникла проблема с этим. jsfiddle.net/divinemamgai/aj49m/8 Заранее спасибо!

2.Попробуйте использовать parseInt , вот так: var correct = parseInt($('input.correct_answers').val(), 10); var incorrect = parseInt($('input.correct_answers').val(), 10);

Ответ №2:

Вам нужно убрать одинарные кавычки вокруг ваших переменных correct и incorrect . В настоящее время они обрабатываются как строки, а не целые числа.

 var correct = 10;
var incorrect = 9;
  

http://jsfiddle.net/aj49m/1/

Ответ №3:

Вы сравниваете строки. Это должно быть примерно так (без кавычек):

 var correct = 10;
var incorrect = 9;
  

Ответ №4:

Исправлено использование целых чисел вместо строк:

http://jsfiddle.net/aj49m/2/

Ответ №5:

Вы сравниваете строковые литералы ’10’ и ‘9’ вместо целых значений 10 и 9. ‘9’ больше, чем ’10’ при сравнении строк.

Комментарии:

1. Я имею в виду, что ‘9’ больше, чем ’10’, точно так же, как ‘b’ больше, чем ‘a’.