我对jquery,aria-disabled和:disabled选择器缺少什么?

时间:2013-05-29 15:01:43

标签: jquery jquery-ui wai-aria

使用

等行
$('#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的类中收集,我对此知之甚少(我在其他人的代码中搜寻错误)。

2 个答案:

答案 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');