jQuery搜索类来自指定类的列表

时间:2011-11-02 20:48:39

标签: javascript jquery class

我有6个班级的div。我想知道div是否有一级,二级,三级或四级,并将其设置为选择框的值。我只想搜索这4个类,而不关心div中的其他类。我有以下内容。有没有更好的方法来写它。

<div class="four whatever something"></div>

<select>
    <option>one</option>
    <option>two</option>
    <option>three</option>
    <option>four</option>
</select>

if ($('div').hasClass(one)) {
    $('select').val('one')
} else if ($('div').hasClass('two')) {
    $('select').val('two')
}
if ($('div').hasClass('three')) {
    $('select').val('three')
}
if ($('div').hasClass('four')) {
    $('select').val('four')
}

2 个答案:

答案 0 :(得分:1)

当然有一种更好的方式来编写它。不过,你可能想知道那是什么方式。 :)

var classes = ['one', 'two', 'three', 'four'],
    $div = $('#myDivId');

for (var i=0; i<classes.length; i++)
{
    if ($div.hasClass(classes[i]))
    {
        $('select').val(classes[i]);
        // break;
    }
}

break;已注释掉,以使循环版本与您当前的代码匹配。但是,如果您打算使用if...else if...else if...else if代替if...if...if...if,则break是必需的。

答案 1 :(得分:1)

你可以尝试类似的东西:

var classes = $('div').attr('class').split(/\s/);
for ( var i in classes )
        $('select').val(classes[i]);