如何使用jquery检查<a> tag?</a>上的“已禁用”属性

时间:2012-04-17 20:12:05

标签: jquery html

我在disabled='disabled'标记上有<a>个属性。如何使用jquery测试此属性是否在我的标签上?以下代码返回undefined。我可以在firebug中看到标记上的disabled属性,并且锚上的所有其他属性都使用相同的语法成功返回。我意识到disabled<a>代码的自定义属性。

$('#anchorID').attr('disabled');

4 个答案:

答案 0 :(得分:46)

尝试

$('#anchorID').is('[disabled=disabled]')

如果disabled="disabled"是元素的属性,则返回true。

答案 1 :(得分:41)

新的改进方法是使用jQuery的prop()函数:http://api.jquery.com/prop/#prop1

$('#anchorID').prop("disabled");

  

在特定情况下,属性和属性之间的差异非常重要。在jQuery 1.6之前,.attr()方法在检索某些属性时有时会考虑属性值,这可能会导致行为不一致。从jQuery 1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()则检索属性。

答案 2 :(得分:5)

尝试:

$('#anchorID').prop("disabled");

请参阅:

http://api.jquery.com/prop/#prop1

更新:+1给Ayman Safadi的答案。

答案 3 :(得分:1)

JS 替代方案:

let hasDisabledAttr =  document.querySelector('#anchorID').hasAttribute('disabled');

返回 truefalse