用于方法调用的Javascript三元运算符
Javascript ternary operators for method calls
我希望能够做到这一点:
var b = $(this).is(':checked')
$('.perspective-col'). (b) ? show() : hide()
而不是
var b = $(this).is(':checked')
if(b) {
$('.perspective-col').show()
} else {
$('.perspective-col').hide()
}
我是不是希望太多了?还是有一些很棒的javascript语法我还没有找到?或者我认为到目前为止JQuery中还不存在这样的东西,这是对的吗?(我使用的是JQuery 1.9.0)
您可以使用这个:
var b = $(this).is(':checked')
$('.perspective-col')[b ? 'show' : 'hide']()
您可以通过将一个字符串传递到括号[]
中来调用jQuery函数。只需在里面插入一个条件,就可以决定传递哪个字符串!
一般来说,
<any expression>.property
相当于:
<any expression>['property']
不同之处在于,可以将括号中的文字'property'
替换为计算特性名称的表达式。jQuery方法只是其值恰好是函数的属性。
但实际上我讨厌这种做法。您也可以使用jQuery.thoggle()
jQuery有一个可以执行您想要的操作的方法,称为toggle()
:
$('.perspective-col').toggle(b);
相关文章:
- 三元运算符检查多个字符串
- 用javascript中的三元运算符连接字符串
- 使用AngularJs数据绑定的三元运算符显示图像
- 三元运算符是NaN
- AngularJS模板中的三元运算符
- Javascript 同构三元运算符无法正确解析
- 车把中有三元运算符吗.js
- 三元运算符未执行的虚假语句
- 根据三元运算符选择函数
- 用三元运算符整理javascript
- 堆叠三元运算符在 Angularjs 表达式中不起作用
- es6javascript推荐使用三元运算符应用模板文本的方法
- 具有逻辑运算符的复杂三元运算符
- 通过三元运算符的自赋值
- 三元运算符中的表达式作为函数
- JavaScript中看似多余的三元运算符
- js:三元运算符中的多重返回
- Javascript 三元运算符结果
- 使用三元运算符缩短代码
- 语句中的三元运算符