$(this).val()、this.id、$(this).attr(idCard)和复选框

页面复选框
      value="${var.id}" idCard='${var.cont_id_card}' name="subBox" type="checkbox"
          style="position:relative;opacity:100;">

js方法获取id的值,获取idCard的值
全选方法
$(function(){
    $("#quanxuan").click(function(){
        $('input[name="subBox"]').prop("checked", this.checked);
    });
     var $subBox = $("input[name='subBox']");
     $subBox
         .click(function () {
             $("#checkAll")
                 .prop(
                     "checked",
                     $subBox.length == $("input[name='subBox']:checked").length ? true
                         : false);
         });
});
--------$(this)相当于当前的对象,
(1)使用attr()方法:--$(this).attr(key); 获取节点属性名的值,相当于getAttribute(key)方法
function layerOpen(){
     var arrChk = $("input[name='subBox']:checked");
     var fenpais = new Array();
     var fenpaiId = new Array();
     (arrChk).each(function () { //each() 遍历函数
         fenpais.push($(this).attr("id"));
         fenpaiId.push($(this).attr("idCard"));
     });
     console.log(fenpais);
     console.log("身份证号="+fenpaiId);
}
(2)通过this.id来获取值,是获取的id="${var.id}"值,如果换成this.idCard就不能取到值,idCard是自定义属性,id是input默认的属性值,this.id默认取到id="${var.id}"值
function layerOpen(){
     var arrChk = $("input[name='subBox']:checked");
     var fenpais = new Array();
     var fenpaiId = new Array();
     (arrChk).each(function () { //each() 遍历函数
         fenpais.push(this.id);
         fenpaiId.push($(this).attr("idCard"));
     });
     console.log(fenpais);
     console.log("身份证号="+fenpaiId);
}
(3)通过$(this).val()取得值是value="${var.id}", --$(this).val();获取某个元素节点的value值,相当于$(this).attr(“value”);
function layerOpen(){
     var arrChk = $("input[name='subBox']:checked");
     var fenpais = new Array();
     var fenpaiId = new Array();
     (arrChk).each(function () { //each() 遍历函数
         fenpais.push($(this).val());
         fenpaiId.push($(this).attr("idCard"));
     });
     console.log(fenpais);
     console.log("身份证号="+fenpaiId);
}
(4)自定义属性idCard,$(this).attr(key); --获取节点属性名的值,相当于getAttribute(key)方法获取值,$(this).attr(key)适用于自定义属性的取值
function layerOpen(){
     var arrChk = $("input[name='subBox']:checked");
     var fenpais = new Array();
     var fenpaiId = new Array();
     (arrChk).each(function () { //each() 遍历函数
         fenpais.push($(this).attr("id"));
         fenpaiId.push($(this).attr("idCard"));
     });
     console.log(fenpais);
     console.log("身份证号="+fenpaiId);
}
总结:this.id获取当前input框的默认属性“id”的值
      $(this).val()是获取当前出入框的value值

      $(this).attr(idCard)是获取输入框自定义属性的值

补充:

$(this).attr(key); 获取节点属性名的值,相当于getAttribute(key)方法
$(this).attr(key, value); 设置节点属性的值,相当于setAttribute(key,value)方法

eg:


var diywidgetid = $('#w_1').attr('diywidgetid'); //获取节点属性的值

$(".c_yes").attr("disabled", "disabled");

$(this).val();获取某个元素节点的value值,相当于$(this).attr(“value”);
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr(“value”,value);

eg:
var i_eg=$('#i_eg').val(); // 获取元素节点的value 值


你可能感兴趣的:(前端基础)