筆記:node
這兩天遇到一個問題,就是在點擊checkbox後,$(this).attr('checked')獲得的值要麼是undefined,要麼是checked,同一個表單一直點擊卻一點都不會發生改變,調試了一下,this裏的checked是會改變的,說明checkbox是有正常運行的,查了好久後,最我懷疑是$(this).attr('checked')這句代碼出了問題,果真往這個方向找有了收穫。jquery
原來jquery 1.6之前用$(this).attr('checked')獲得的是true/false,但到了1.6之後,$(this).attr('checked')就有點問題了。this
解決方案以下:.net
1. 使用is()調試
例句: $(this).is(":checked"); // 注意是':checked',有冒號的!blog
2. 使用prop()方法,JQ1.6以後,能夠經過attr方法去得到屬性,經過prop方法去得到特性,屬性指的是「name,id」等等,特性指的是「selectedIndex, tagName, nodeName」等等。 表單
例句: $(this).prop('checked');select
參考:http://blog.csdn.net/awj3584/article/details/21469971方法