1

我知道我的选择器将有一个级别 1、级别 2、级别 3

我想以此为基础设置关卡,但我的方式感觉有点笨拙?有没有更简洁的方法来做到这一点

if ( $level.hasClass('level-2')) {
    $levelValue= "level2";
}
if( $level.hasClass('level-3')) {
    $levelValue = "level3";
}

if ( $level.hasClass('level-4')) {
    $levelValue= "level4";
}

编辑:对不起我的错误

4

3 回答 3

2

用这个:

if($level.is('.level-2, .level-3, .level-4')){
    $level = "level2";
}

这使用 jQuery 的.is()函数并检查是否$level有任何类。

更新:尝试使用这个:

if($level.is('[class^="level"]')){
    $levelValue = $level.attr('class').match(/level-[0-9]*/); // e.g. 'level-2'
}

它在这里工作:http: //jsfiddle.net/rE3bL/1/

于 2013-10-09T14:20:00.550 回答
0

什么是 $ 级别?一个div?如果您想将 $level 设置为“level1”、“level2”和“level3”(而不是像代码中那样每次都设置为“level2”),您可以使用数据属性:

<div class="level1" data-level="1">
<div class="level2" data-level="2">
<div class="level3" data-level="3">

你的js就像:

$level = $level.data("level") //will return "1","2" or "3"
于 2013-10-09T14:31:28.633 回答
0

是否有与每个级别相关的样式规则?如果它只是数据,我会使用数据属性,data-level='2'那么你可以使用这个 jQuery 函数来访问它:$level.data('level')

于 2013-10-09T14:21:55.373 回答