使用
等行$('#myButton').button({ 'disabled' : true });
我希望这与':disabled'CSS选择器匹配,但事实并非如此。该按钮明显禁用,但它具有以下属性:
class="button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-button-disabled ui-state-disabled" role="button" aria-disabled="true">
我认为这个aria-disabled
的东西是 IE供应商前缀无关,但为什么它没有常规的旧“禁用”?我在这里做错了吗?我从我们正在使用jQuery UI的类中收集,我对此知之甚少(我在其他人的代码中搜寻错误)。
答案 0 :(得分:2)
如果未在表单元素上调用button
,:disabled
将不会选择它。
来自the docs:
:禁用选择器只应用于选择支持已停用属性的HTML元素(
<button>
,<input>
,<optgroup>
,<option>
,<select>
,和<textarea>
)。
如果要使用它来设置<a>
标记的样式,则必须选择其中一个ui-
类,例如ui-state-disabled
。
答案 1 :(得分:0)
也许尝试使用attr()
函数并将其赋值为disabled,因为我不知道disabled = true是否有效。
$('#myButton').attr('disabled', 'disabled');