首页 > 解决方案 > 超过 2 个条件的三元运算符

问题描述

var testCond = $('body').hasClass('theme-a') ? 'a' : 'b';

如上所述,需要在正文中包含新的主题类名称。但是,得到 javascript 错误。

不确定是否有任何简单的方法可以解决这个问题。可以添加如下条件吗?

var testCond = $('body').hasClass('theme-a') ? 'a' : 'b' : 'c';

标签: javascriptjquery

解决方案


查找表是灵活的:

var class_lookup = { 'theme-a' : 'a', 'theme-b' : 'b', 'theme-c' : 'c', /* ... */ };
var testCondList = $('body').attr('class').split(' ').map(c => class_lookup[c]).filter(x => x);

这将在查找表中创建一个包含类列表中的键的所有值的数组。


推荐阅读