我正在尝试实现这样的switch case语句:
switch (active.attr('class')){
case "video": ...
case "slideshow": ...
...
问题是,“视频”和“幻灯片”每个都是我试图定位的三个类别之一,因此它与案例不符......
我怎么会基本上说“视频是attr('class')的一部分”?
谢谢, 卢茨
答案 0 :(得分:4)
看起来你正在使用jQuery
,它提供了两种方法:
所以你可以打电话:
if( active.hasClass('video') ) { }
或
if( active.is('.video') ) { }
请注意.is()
需要更具体的模式与前导.
,但您可以确定许多其他内容,如.is('div')
等。
答案 1 :(得分:4)
您也许可以尝试拆分字符串。 从头到尾:
var classes = active.attr('class').split(' ');
foreach(var c in classes) {
switch(c) {
case 'video'
...
case 'slideshow'
...
}
}
只是一个想法。以上答案可能会以其他方式做同样的事情:)
编辑:
你也可以像这样使用jQuery .each()
:
classes.each(function(c) {
switch(c) {
case 'video'
...
case 'slideshow'
...
}
}
答案 2 :(得分:2)
您可以使用hasClass
See this related post.我认为它符合您的目标。
答案 3 :(得分:1)
使用if和hasClass方法:
if (active.hasClass('video')) {
}
else if {active.hasClass('slideshow')) {
}
如果您需要同时执行这两项操作(在交换机上使用),请删除else以使if语句独立。