項目中用的jquery1.9 今天須要檢測一個checkbox的選中狀態,想固然的用 .attr("checked") ,結果發現,不管是否選中,這個值都是 undefined 未定義。javascript
折騰了半天,無奈,只能取jq官網看看文檔,發現有這麼一段說明html
As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. In addition, .attr() should not be used on plain objects, arrays, the window, or the document. To retrieve and change DOM properties, use the .prop()method.java
注意最後兩句話,說什麼.attr() 不能用於普通對象,數組,窗口,文檔什麼玩意的,要從新獲取改變dom屬性,用.prop()方法。jquery
ok,雖然不太明白它說的具體含義是什麼,可是看到.prop方法姑且一試吧,結果還真能夠,若選中則返回true不然返回false。ajax
代碼貼上來,有興趣可自行測試:api
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> <script> $(function(){ $("#clk").click(function(){ alert($("#ckb").prop("checked")); }) }) </script> </head> <body> <input type="button" value="click" id="clk"> <input type="checkbox" id="ckb"/> </body> </html>