今天在处理checkbox的时候,IE6和IE7一直出现问题,FF、Chrome及IE9等均不会出现问题。跟了代码下,发现是attr()方法的问题。在有些浏览器里,只要写了disabled就可以,有些则要写:disabled= "disabled"。所以,从1.6开始,jquery提供新的方法“prop”来获取这些属性。使用prop的时候,返回值是标准属性,true/false,比如$('#checkbox').prop('disabled'),不会返回“disabled”或者“”,只会是true/false。当然赋值的时候也是如此。如此,我们便统一了所有操作,无论是从语法上还是语义上。
那么,哪些属性应该用attr访问,哪些应该用prop访问呢?按照官方文档,如附件所示: