随着jQuery 1.6的发布,关于SO的建议通常是开始使用您曾经使用过attr()
的{{3}}。
当我想要禁用元素时会发生什么?
$('.control').prop('disabled', 'disabled');
$('.control').prop('disabled', true);
这些似乎都没有禁用控件。禁用元素是规则的例外吗?
更新 事实证明元素没有被禁用的原因是因为我在上面的行之前运行了一行:
$('.control').removeProp('disabled');
在启用控件时,我已经习惯使用.removeAttr(),所以想到.removeProp就足够了。而是使用以下命令启用控件:
$('.control').prop('disabled', false);
答案 0 :(得分:13)
$('.control').prop('disabled', true);
或者使用
$('.control').attr('disabled', 'disabled');
<强>更新强>
但即使$('.control').prop('disabled', 'disabled');
或$('.control').attr('disabled', true);
也会禁用该元素。因此,如果它不适合您,问题实际上是您要禁用的元素。它甚至可以被禁用吗?
答案 1 :(得分:3)
确保您在尝试禁用的元素上没有.removeProp('disabled')
。
答案 2 :(得分:1)
使用.prop('disabled', true)
。