Не всегда работает prop

Рейтинг: 0Ответов: 2Опубликовано: 24.03.2015

Бывают случаи, когда prop не срабатывает. Почему это происходит и как это исправить?

Вот пример:

<div class="btn-group">
        <label class="checkbox btn btn-default">
            <input type="checkbox" rel="tooltip" class="check-merge" checked="">
        </label>
        <label class="radio btn btn-default">
            <input type="radio" name="mainModelMerge" checked="">
            Главная
        </label>
        <label class="checkbox btn">
            <input type="checkbox" class="select-on-check">
            Массовая
        </label>
</div>

(function($) {
    $('label.radio').prop('disabled', true);
    $('input[type="radio"]').prop('disabled', true);

    $('label.checkbox').attr('disabled', true);
    $('input[type="checkbox"]').prop('disabled', true);    
})(jQuery);

В данном случае не работает $('label.radio').prop('disabled', true);, а attr работает.

Зависит ли это от браузера?

http://jsfiddle.net/e0r1jtz6/1/

Ответы

▲ 2Принят

disabled не относится к свойствам label (их там всего 2), поэтому prop и не срабатывает.

▲ 1
$('label.checkbox').attr('disabled', 'disabled'); // блокируем
$('label.checkbox').removeAttr('disabled'); // разблокируем