jquery - 了解 jquery `show` 和 `hide` 方法中的三元运算符。

标签 jquery

只是在网上看一个下拉 fiddle HERE ,下拉列表中有以下行,如下所示:

 $(this).closest('.menu')[s.indexOf(g) !== -1 ? 'show' : 'hide']();

现在我确实理解了三元运算符,而且我也理解了

 $(this).closest('.menu')[0];

是一种经常用于派生第一个元素的语法,但我不太理解上面的语法,该行是如何执行的,或者只是:

 $(this).closest('.menu').hide();

取决于三元运算符的结果?

最佳答案

非常简单。 在 JS 中,您不仅可以使用 object.field_name 访问对象成员,还可以使用 object['field_name']

所以你的代码行可以翻译为:

if(s.indexOf(g) !== -1) {
   // $(this).closest('.menu').show()
   $(this).closest('.menu')['show']() 
} else {
   // $(this).closest('.menu').hide()
   $(this).closest('.menu')['hide']() 
}

关于jquery - 了解 jquery `show` 和 `hide` 方法中的三元运算符。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884997/

相关文章:

javascript - fontawesome CSS 的 CDN 回退

jquery - ajax异步: true statement execution order

javascript - 多列数组中最接近的最大值

jquery - Chrome 不显示由 jQuery 或直接 CSS 属性设置的类

javascript - 拖动的 div 改变目的地的位置

javascript - 使用 JavaScript 将属性添加到一组链接中的第一个链接

Jquery css 选中菜单问题

javascript - jquery 切换在 if-else 语句中不起作用

c# - 无法解析 JQuery ajax 调用返回的 JSON

javascript - 结合/"beautify"这两个函数使用 1 个类