首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery类切换变量:意外标识符

jquery类切换变量:意外标识符
EN

Stack Overflow用户
提问于 2018-06-29 21:00:28
回答 1查看 23关注 0票数 0

简要说明:不知道为什么我在SO/其他地方找不到这个问题。希望这不是个骗局。

问题:如何将至少两个类作为变量传递给toggleClass的jQuery?

在这个简单的片段中,如果我使用类名,它将完美地工作。

代码语言:javascript
运行
复制
var varRed = "red", varUpper = "upper";
$("#test").on("click", function() {
	$(this).toggleClass('red upper');
});
代码语言:javascript
运行
复制
.red{color: red;}
.upper{text-transform: capitalize;}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">class toggle</div>

如何获得与$(this).toggleClass('red upper');等价的变量,例如?

代码语言:javascript
运行
复制
$(this).toggleClass(varRed varUpper);

后者会引发一个错误。

显然,我们可以做到:

$(this).toggleClass(varRed).toggleClass(varUpper);

但我正在努力理解为什么.toggleClass(“红色上半身”)起作用,而toggleClass(varRed varUpper)则不起作用。

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-29 21:12:26

你需要用

代码语言:javascript
运行
复制
$(this).toggleClass(varRed + ' ' + varUpper); 

但我正在努力理解为什么.toggleClass(“红色上半身”)起作用,而toggleClass(varRed varUpper)则不起作用。

这就是在JavaScript中连接两个字符串的方式,这就是您基本上要做的事情。

您也可以传递一个数组,这可能是更好的语法。

代码语言:javascript
运行
复制
$(this).toggleClass([varRed, varUpper])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51109343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档