在有些时候,比如访问input的disabled、checked、selected属性的时候会有些问题。在有些浏览器里,只要写了disabled属性就可以,而在有些浏览器里,则要写:disabled="disabled"。所以从1.6版开始,jQuery提供了prop()方法来获得这些属性。使用prop()的时候返回的是标准属性:true/false。
比如$("#checkbox").prop("disabled"),返回true/false,
而使用$("#checkbox").attr("disabled"),返回disabled/underfind。当然赋值的时候也是如此。
那么,哪些属性应该使用attr()访问,哪些应该用prop()访问呢?
第一个原则:只添加属性名称改属性就会产生效应应该使用prop();
第二个原则:只存在true/false值得属性应该使用prop();
按照官方的说法:如果设置disabled、checked、selecked这些属性的时候应该使用prop(),而不是使用attr()。