點擊checkbox后,$(this).attr('checked')得到的值不會發生改變


筆記:

    這兩天遇到一個問題,就是在點擊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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM