我在disabled='disabled'
标记上有<a>
个属性。如何使用jquery测试此属性是否在我的标签上?以下代码返回undefined
。我可以在firebug中看到标记上的disabled
属性,并且锚上的所有其他属性都使用相同的语法成功返回。我意识到disabled
是<a>
代码的自定义属性。
$('#anchorID').attr('disabled');
答案 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)
答案 3 :(得分:1)
JS 替代方案:
let hasDisabledAttr = document.querySelector('#anchorID').hasAttribute('disabled');
返回 true
或 false
。