在jQuery 1.6.1中进行更改之后,我一直在尝试定义HTML中属性和属性之间的差异。
查看jQuery 1.6.1发行说明中的列表(在底部附近),似乎可以对HTML属性和属性进行如下分类:
属性:所有具有布尔值或UA计算得出的值,例如selectedIndex。
属性:可以添加到既不是布尔也不包含UA生成值的HTML元素中的“属性”。
有什么想法吗?
在jQuery 1.6.1中进行更改之后,我一直在尝试定义HTML中属性和属性之间的差异。
查看jQuery 1.6.1发行说明中的列表(在底部附近),似乎可以对HTML属性和属性进行如下分类:
属性:所有具有布尔值或UA计算得出的值,例如selectedIndex。
属性:可以添加到既不是布尔也不包含UA生成值的HTML元素中的“属性”。
有什么想法吗?
答案已经解释了如何不同地处理属性和属性,但是我真的想指出这是多么疯狂。即使在某种程度上是规格。
疯狂的是,有些属性(例如id,class,foo,bar)仅在DOM中保留一种值,而某些属性(例如checked,selected)保留两个值;也就是说,值“加载时”和“动态状态”的值。(DOM是否应该完全代表文档的状态?)
绝对重要的是,两个输入字段(例如,文本和复选框)的 行为必须完全相同。如果文本输入字段没有保留单独的“加载时”值和“当前动态”值,为什么要选中该复选框?如果该复选框的确有两个值为checked属性,为什么它的class和id属性没有两个值?如果你希望改变的值文本 *输入*领域,期待与您的DOM(即“连载表示”),以变化,反映这种变化,为什么地球上,你会不会期望从同一输入的字段键入复选框 在检查的属性?
对我来说,“这是布尔属性”的区分只是没有任何意义,或者至少不是充分的理由。
很好,这些是由w3c指定的。什么是属性,什么是属性 http://www.w3.org/TR/SVGTiny12/attributeTable.html
但目前attr和prop并没有太大不同,几乎相同
但是他们更喜欢道具
好吧,实际上,如果您使用attr或prop或同时使用attr和prop,则不必更改任何东西,但是两者都可以工作,但我在自己的应用程序中看到prop在atrr没起作用的地方工作了,所以我使用了我的1.6 app prop =)