prop('disabled','disabled')和prop('disabled',true)有什么区别?

5
我正在使用jQuery来禁用选择下拉列表中的一个选项。我需要知道使用prop()和attr()方法之间的区别。

prop('disabled','disabled')

并且

prop('disabled',true)

这两者在所有浏览器上都可以使用(不确定是否遗漏了任何浏览器),但是在另一个帖子中,有人建议使用"disable, true"。能否请有经验的人解释一下?谢谢。

1个回答

11
根据W3C表单规范,disabled属性是一个布尔属性,所以prop('disabled',true)是正确的。 prop('disabled','disabled')也可以工作,因为字符串'disabled'会被评估为真。

3
任何非空字符串都会被视为真值。 - Torsten Walter
@TorstenWalter 是的,那就是原因。 - xdazz
3
此外,prop('disabled', 'false') 也等同于 prop('disabled', 'disabled'),因为 'false' 是一个非空字符串,在 JavaScript 中被解析为 true。因此,在期望布尔值的地方,始终使用 truefalse - spinningarrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接