jquery-1.10.2 获取checkbox的checked属性总是undefined

 项目中用的jquery-1.10.2 需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined 未定义。

       查找资料,特此记录:

       jq官网说明:

      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.

       .attr() 不能用于普通对象,数组,窗口,文档等,要重新获取改变dom属性,用.prop()方法。

        用.prop方法确实可行。

        贴一段代码如下:

       

[html] view plaincopy
 
 
  1. $(‘#regSubmit‘).click(function(){  
  2.            
  3.             var val = $("#reg-checkbox").prop("checked");  
  4.    
  5.             console.log(val);  
  6.               
  7.             if(val =="checked" ||val==true){    
  8.                   
  9.                 var useremail = $("#reg-email").val();  
  10.                 var password = $("#reg-password").val();  
  11.                   
  12.                 var psdHash = HASH.md5(password);  
  13.           
  14.                 AUTH.fnReg(useremail,psdHash,function(json){  
  15.                       
  16.                     $("#login-email").attr("value",useremail);  
  17.                 });  
  18.             }  
  19.             else{  
  20.                 alert("亲,请阅读并同意 《中科甲骨云服务条款》!");  
  21.             }  
  22.      });  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。