我有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')
}
答案 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]);