Как сделать математику, если и еще в JQuery? - PullRequest
2 голосов
/ 11 апреля 2011

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

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

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

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

ПРОБЛЕМА ДЕМО

Вот мой код 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

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

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

Ответы [ 5 ]

7 голосов
/ 11 апреля 2011

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

                  var correct = 10;
                  var incorrect = 9;

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

2 голосов
/ 11 апреля 2011

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

var correct = 10;
var incorrect = 9;
2 голосов
/ 11 апреля 2011

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

var correct = 10;
var incorrect = 9;

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

1 голос
/ 11 апреля 2011

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

1 голос
/ 11 апреля 2011

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

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

...