以下代码片段有效。
浏览器显示这是一个函数,为什么我不能调用它?
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');
对我来说很好用...node
究竟是什么?我用$("body")[(1===1) ? "addClass" : "removeClass"]("b")
进行了测试。 解释:以上代码是在JavaScript中使用条件运算符和jQuery的addClass()
和removeClass()
方法来添加或删除指定元素的类。node
是一个变量,代表一个DOM元素节点,可以通过jQuery选择器来获取。在第二个例子中,$("body")
选择了<body>
元素并根据条件语句来添加或删除类名为"b"
的CSS类。 - epascarellonode.toggleClass("foo", condition)
。 - epascarello