javascript - 了解 jQuery 语法? :

标签 javascript jquery scripting

<分区>

我想了解什么?和 : 在这段代码中做了什么,我在代码中看到了很多,但我永远无法理解它到底在做什么?

有人能给我指出正确的方向吗,这段代码来自 jQuery validate() 文档

$(".selector").validate({
  invalidHandler: function(event, validator) {
    // 'this' refers to the form
    var errors = validator.numberOfInvalids();
    if (errors) {
      var message = errors == 1
        ? 'You missed 1 field. It has been highlighted'
        : 'You missed ' + errors + ' fields. They have been highlighted';
      $("div.error span").html(message);
      $("div.error").show();
    } else {
      $("div.error").hide();
    }
  }
});

最佳答案

那个? : 不是 jquery,只是 vanilla javascript。它称为条件(三元)运算符,可用作标准 if/else 语句的简写:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Conditional_%28ternary%29_operator

基本上就是这样

val = (boolean expression)? (val if boolean is true) : (val if boolean is false)

因此在您的情况下,它表示 message 等于 '您错过了 1 个字段。如果 errors == 1 为真,则突出显示“”,否则 message 等于 “您错过了‘+ errors +’字段。它们已突出显示'

关于javascript - 了解 jQuery 语法? :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31151521/

相关文章:

perl - 什么会导致 Perl 转储核心?

javascript - 在 React 组件中使用静态脚本标签

javascript - Jasmine 单元测试具有两个依赖项的 AngularJS 工厂($http 和另一个返回 promise 的工厂)

ajax - 单击 colorbox 上的按钮后调用 ajax

javascript - Jquery分页记录

php - 通过PHP在MySQL中插入Jquery

javascript - 将 array[5000] 中的 X 个数字分组放入 array[] 中

javascript - 带有 ng-repeat 的自定义选项卡不起作用

windows - 如何运行 PowerShell 脚本

python - 阻止 Python 在 shebang 中生成 pyc 文件