jQuery 相当于 ||或者 ??运算符(operator)

标签 jquery

使用纯 JavaScript 我可以做这样的事情:

var ninjaTurtle = document.getElementById('raphael') ||
                  document.getElementById('leonardo');

如果第一个 DOM 查找返回 null(这是假值),则会评估第二个查找。

jQuery 函数 $() 始终返回 i jQuery 类似数组的对象,即使没有元素匹配也是如此。即使为空,该对象也不是假的,因此以下表达式永远不会计算右侧:

var ninjaTurtle = $('#raphael') || $('#leonardo');

那么,使用 jQuery 时进行这种回退的惯用方法是什么?

最佳答案

检查匹配/返回的元素计数将告诉您选择器是否匹配某些内容... fallback是一个简单的实用程序插件,可以让您优雅地做到这一点...

jQuery.fn.fallback = function(elem) {
    return 0 < this.length ? this : $(elem);
};

此功能最好的部分是您可以根据需要链接任意数量的元素,直到找到匹配的元素。

$('#raphael').fallback('#leonardo').fallback('#kilik').dosomething();

关于jQuery 相当于 ||或者 ??运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7190126/

相关文章:

javascript - 通过对表格单元格进行数学运算来填充 div

javascript - django+javascript - 如何处理来自不同来源/函数的数据?

javascript - 预加载动画 gif

javascript - 禁用除特定类之外的所有表单元素

jquery - 在 jQuery 中创建幻灯片效果

javascript - While循环: Generated table rows and column inconsistency

php - 尝试将变量从 $.post 传递到 php

javascript - JSON + jQuery 不工作

jquery - 将随机选择的先前图像转为灰度

javascript - Ninja Forms 3.0 On Form Load javascript 事件