我有一些旧的jQuery工作代码:
if ($element.attr('checked') === 'checked')
从未重写为建议:
if ($element.prop('checked'))
但它确实奏效了。
但是现在,我已经更新到jQuery 1.9.1并使用attr检查访问返回undefined。这是否意味着jQuery删除了对某些DOM属性(如选中/禁用/选中)的支持?
答案 0 :(得分:1)
jQuery 1.6引入了.prop()方法来设置或获取节点上的属性,并且不推荐使用.attr()来设置属性。但是,高达1.9的版本继续支持在特定情况下使用.attr()。当使用区分属性和属性的选择器时,以向后兼容性名称的这种行为会引起混淆。
从jQuery本身看一下这个升级指南。 .attr() versus .prop()