我在页面上有多个下拉列表:
HTML
<div class="select-full">
<select id="activitylevel" class="input_select step2-ddl c2-sb-enabled">
<option selected="selected" value="-1">-- please select --</option>
<option value="1">Step 1 </option>
<option value="3">Step 2</option>
<option value="4">Step 3</option>
</select>
<div class="c2-sb-wrap" tabindex="0">
<div class="c2-sb-inner-wrap"></div>
</div>
</div>
我想使用类c2-sb-inner-wrap将div应用于任何尚未选择的选项(value == -1)
我正在尝试使用nearest()和next / nextAll,但它没有发生:
$('.step2-ddl').each(function() {
if ($(this).val() == '-1') {
$(this).closest('.select-full').nextAll('.c2-sb-inner-wrap').css('border-color', '#f86556').css('border-style', 'solid');
}
else {
$(this).closest('.select-full').nextAll('.c2-sb-inner-wrap').css('border-style', 'none');
}
});
答案 0 :(得分:2)
使用.find()
代替.nextAll()
像:
$(this).closest('.select-full').find('.c2-sb-inner-wrap')
.css('border-color', '#f86556').css('border-style', 'solid');
作为旁注,我建议切换类而不是直接更改CSS属性,因为它既更精简又更清晰。