-2

我有一些旧的 jQuery 工作代码:

if ($element.attr('checked') === 'checked')

那从未被改写为建议:

if ($element.prop('checked'))

但它奏效了。

但是现在,我已经更新到 jQuery 1.9.1 并且使用 attr 访问检查返回未定义。这是否意味着 jQuery 放弃了对某些 DOM 属性的支持,例如 checked/disabled/selected ?

4

1 回答 1

1

jQuery 1.6 引入了 .prop() 方法来设置或获取节点上的属性,并且不推荐使用 .attr() 来设置属性。但是,直到 1.9 的版本继续支持在特定情况下使用 .attr()。当使用区分属性和属性的选择器时,这种以向后兼容性为名的行为会导致混淆。

看看 jQuery 本身的这个升级指南。.attr() 与 .prop()

于 2013-03-05T14:07:06.077 回答