0

ページに複数のドロップダウン リストがあります。

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 に適用したい (値 == -1)

私は closest() と 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');
    }
});​
4

1 に答える 1

2

.find()の代わりに使用.nextAll()

お気に入り:

$(this).closest('.select-full').find('.c2-sb-inner-wrap')
       .css('border-color', '#f86556').css('border-style', 'solid');

ちなみに、CSS プロパティを直接変更するのではなく、クラスを切り替えることをお勧めします。

于 2012-11-26T00:42:09.333 に答える