如何在jquery中使用if和else进行数学运算?

时间:2011-04-11 14:42:38

标签: jquery jquery-ui jquery-plugins jquery-selectors jquery-validate

大家好!

我一直在尝试在if/else中创建jQuery语句代码,但我想我的if/else语句 安静地休息 !我不知道出了什么问题,我做了一切,但仍然无法正常工作!好的,这是我的问题列表〜

  1. 我的if/else正在逆转!
  2. 我觉得一切都搞砸了!
  3. JsLint(在jsFiddle.net中)在我的jQuery代码中没有显示任何错误!
  4. 请在这里找我的问题演示链接~~~~~~~~~~

    PROBLEM DEMO

    这是我的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元素中检索一个值!但它没有用。

    请看这里----

    PROBLEM DEMO 2

    感谢提前(对于这个也是如此!)

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

5 个答案:

答案 0 :(得分:7)

问题是correctincorrect是字符串。您可以将它们更改为整数来解决问题:

                  var correct = 10;
                  var incorrect = 9;

或者,您可以使用parseInt(myNumAsString, 10)在运行时将字符串转换为数字。

答案 1 :(得分:2)

您需要从correctincorrect变量中删除单引号。目前,它们被视为字符串,而不是整数。

var correct = 10;
var incorrect = 9;

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

答案 2 :(得分:2)

您正在比较字符串。它应该是这样的(没有引号):

var correct = 10;
var incorrect = 9;

答案 3 :(得分:1)

修正了使用整数而不是字符串:

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

答案 4 :(得分:1)

您正在比较字符串文字'10'和'9'而不是整数值10和9。 比较字符串时,'9'大于'10'。