首页 > 解决方案 > Jquery val() 编号不正确?

问题描述

我正在构建一个简单的 if 语句,如果输入值超过 6,则使用 Jquery 更改 P 元素的颜色。但是当输入值超过 2 时它会改变吗?

$("#input_5_11").keyup(function() {     
  if ($('#input_5_11').val() > 6) {
    $("p").css("color", "red")
  }
});

标签: jqueryfrontend

解决方案


您正在比较一个字符串和一个 int。用于parseInt()将 强制val()为整数:

$("#input_5_11").keyup(function() {     
  if ((parseInt($(this).val(), 10) || 0) > 6) {
    $("p").css("color", "red")
  }
});

还要注意使用|| 0来强制NaN结果0,以免破坏比较。


推荐阅读