1. 程式人生 > >attr( ) prop 獲取 input 的 checked屬性值(特殊)

attr( ) prop 獲取 input 的 checked屬性值(特殊)

在jQuery中應該使用prop方法來獲取和設定checked屬性,不應該使用attr,需要的朋友可以參考下

1、prop方法獲取、設定checked屬性

<input type="checkbox" name="checkboxMain" onclick="CheckAll(this);" />
function CheckAll(obj) {
      //獲取checked屬性
   if ($(obj).prop("checked")) {
  //設定checked屬性
  $("input[name='checkboxall']").prop("checked", true);
   } else {
  //設定checked屬性
  $("input[name='checkboxall']").prop("checked",false);                                
   }
} 

1 當input控制元件checkbox設定了checked屬性時,無論checked=”“或
checked=”checked”,(obj).prop(checked)true2inputcheckboxchecked(obj).prop(“checked”)的結果是false。
設定(input[name=checkboxall]).prop(checked,true)checkbox(“input[name=’checkboxall’]”).prop(“checked”, false)時,checkbox不會被選中;

2、attr方法獲取、設定checked屬性

<input type="checkbox" id="selectAll" onclick="checkAll()" > 

如果當前input中初始化未定義checked屬性,則不管當前是否選中,

    $(“#selectAll”).attr(“checked”)都會返回undefined; 
    <input type="checkbox" id="selectAll" checked="" onclick="checkAll()" >全選 
    <input type="checkbox" id="selectAll" checked="checked" 
    onclick="checkAll()" >全選 

如果當前input中初始化定義了checked屬性,無論checked=”“或
checked=”checked”,當前checkbox都處於選中狀態,
$(“#selectAll”).attr(“checked”)都會返回”checked”;

3、總結

在jquery中應該使用prop方法來獲取和設定checked屬性,不應該使用attr.