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