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

238
12 декабря 2016, 10:10

Бывают случаи, когда 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/

Answer 1

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

Answer 2
$('label.checkbox').attr('disabled', 'disabled'); // блокируем
$('label.checkbox').removeAttr('disabled'); // разблокируем
READ ALSO
Перемещение элемента

Перемещение элемента

К примеру, есть такой код:

208
Jquery получить url и method  от ajax события

Jquery получить url и method от ajax события

Задача состоит в том, чтобы все post запросы, сделанные через ajax, уведомляли нужный мне скрипт о том, к какому url они обращались

200
Как правильно использовать usemap с  :hover?

Как правильно использовать usemap с :hover?

Можно ли, чтобы картинка ( например, 200 х 100 ) увеличивалась при :hover, и при этом срабатывал usemap, те

339
Как правильно применить e.preventDefault?

Как правильно применить e.preventDefault?

Как применить epreventDefault(); только для того li, у которого есть вложенный ul?

273