2013-03-24 2 views
0

Я ищу способ очистки/конденсирования/улучшения производительности моего текущего фрагмента: input & output уже определены переменные.Toggling disabled attribute

if (input.val().length <= 0) { 
    output.attr('disabled', true); 
} else { 
    output.attr('disabled', false); 
} 

ответ

3

Ну, вы можете использовать логическое выражение непосредственно:

output.attr('disabled', input.val().length <= 0); 

Gratuitous Live Example | Source

0
output.attr('disabled', (input.val().length <= 0)); 
1

Вы должны использовать prop над attr. Смотрите здесь http://api.jquery.com/prop/

output.prop('disabled', (input.val().length <= 0)); 
+0

Это не имеет значения, команда JQuery * немедленно * попятился сделать 'attr' работать только на атрибутах, как только 1,6 вышел. (И, конечно, 'disabled' ** является ** атрибутом, если бы мы были очень строгими, мы бы не использовали' true' и 'false' с ним.)' Attr' отлично подходит для 'disabled' и это вряд ли изменится. –