// 一,判斷選中
// js var ischecked2 = function(){ // this.checked == true $(document.getElementsByTagName("input")).each(function(i){ if(this.checked == true){ console.log(this.getAttribute('name')); } }) } // jquery var ischecked1 = function(){ // 方法1,$(this).is(':checked') $("input[type='checkbox']").each(function(i){ if($(this).is(':checked') == true){ console.log($(this).attr("name")); } }); // 方法2.$(this).get(0).checked $("input[type='checkbox']").each(function(i){ if($(this).get(0).checked == true){ console.log($(this).attr("name")); } }); // 方法3.$(this).prop('checked') $("input[type='checkbox']").each(function(i){ if($(this).prop('checked')){ console.log($(this).attr("name")); } }); } // 二,全選 // jquery var selectAll1 = function(){ // $("[type='checkbox']").prop("checked",true); // 方法1 $("[type='checkbox']").prop("checked","checked"); // 方法2 } // js var selectAll2 = function(){ $(document.getElementsByTagName("input")).each(function(i){ this.checked = true; }) } // 三,取消全選 // jquery var selectNone1 = function(){ // $("[type='checkbox']").prop("checked",false); // 方法1 $("[type='checkbox']").prop("checked",""); // 方法2 } // js var selectNone2 = function(){ $(document.getElementsByTagName("input")).each(function(i){ this.checked = false; }) } // 四,反選 // jquery var inverse1 = function(){ $("[type='checkbox']").each(function () { $(this).prop("checked", !$(this).prop("checked")); }); } // js var inverse2 = function(){ $(document.getElementsByTagName("input")).each(function(i){ this.checked = !this.checked; }) } // 五,jquery 選中所有奇數 (index從0開始) var odd1 = function(){ selectNone1(); $("[type='checkbox']:odd").prop("checked",'true'); } // 六,jquery 選中所有偶數 (index從0開始) var even1 = function(){ selectNone1(); $("[type='checkbox']:even").prop("checked",'true'); }
備注:在jQuery 1.6中,.attr()方法查詢那些沒有設置的屬性,則會返回一個undefined。如果你要去恢復或者改變DOM狀態值,類似checked,selected,disabled等表單元素的狀態,最好使用.prop()方法。