【发布时间】:2019-07-30 02:19:15
【问题描述】:
下面的sn-p工作
if (condition)
node.addClass('myclass');
else
node.removeClass('myclass');
但不是这个
node[condition ? 'addClass' : 'removeClass']('myclass');
也不是这个
(condition ? node.addClass : node.removeClass)('myclass');
如果我用它来测试它
console.log(node[condition ? 'addClass' : 'removeClass']);
浏览器显示它是一个函数。为什么我不能调用它?
【问题讨论】:
-
node[condition ? 'addClass' : 'removeClass']('myclass');对我来说效果很好......节点到底是什么?我用$("body")[(1===1) ? "addClass" : "removeClass"]("b")测试了它 -
但您似乎只是在重新发明 toggleClass
node.toggleClass("foo", condition) -
@epascarello 谢谢!不知道有这个功能。
标签: javascript jquery ternary-operator function-call