【发布时间】:2016-09-24 21:36:28
【问题描述】:
我正在尝试使用 switch 语句来检查当前页面是否具有特定的正文类。这就是我正在寻找的东西:
var bodyClass = $('body').hasClass('className')
switch(bodyClass) {
case 'homepage':
// console.log("This is the homepage");
break;
case 'residential-page':
// console.log("This is the residential page");
break;
default:
// console.log("default code block ran");
}
我知道 jQuery hasClass 函数返回 true 或 false 并且像 $('body').hasClass('someClassName') 一样使用,这将返回 true 或 false。此外,对于给定的页面,我的 body 通常有大约 7-10 个不同的类名。
【问题讨论】:
-
有什么理由不能只使用 if/else 语句?
-
switch语句用于比较两个值。由于class可以包含多个值,因此您可能不应该使用 switch。您可能需要grab all the classes,然后使用if语句。 -
$.hasClass用于检查特定元素是否具有特定类。 -
对不起,我的意思是说有些地方的代码看起来像这样:
Switch() {} case '': case '': case '': case '': case '': case '': case '':我想避免以下类型的 if 语句:if (body.hasClass('abc') || body.hasClass('abc') || body.hasClass('abc') || body.hasClass('abc') || body.hasClass('abc') || body.hasClass('abc')) { // some code }(对不起: 看来上面的例子在没有换行符的情况下会有点难以阅读)。
标签: javascript jquery switch-statement