zoukankan      html  css  js  c++  java
  • jquery checkbox 全选反选代码只能执行一遍,第二次就失败

    遇到问题背景:

    在写到购物车的全选交互的时候,商品选中的状态只有在第一次的时候可以,第二次就无法选中;(代码如下)

    $(".chooseall").click(function(){
        if($(".chooseall").attr("checked") == true){
            $("input[name='checkbox1']").attr("checked", false);
            console.log(1);
        }else{
            $("input[name='checkbox1']").attr("checked", false);
            console.log(2);
        }
    });

    解决方案:

    将上述代码中的attr换成prop

    $(".chooseall").click(function(){
        if($(".chooseall").prop("checked") == true){
            $("input[name='checkbox1']").prop("checked", false);
            console.log(1);
        }else{
            $("input[name='checkbox1']").prop("checked", false);
            console.log(2);
        }
    });

    问题出现的原因(jQuery中attr和prop的区别):

    prop读取属性值:读取已赋值的固有属性会得到属性值,读取未赋值的固有属性会得到属性默认值,读取自定义属性时无论是否赋值均得到undefine。 
    prop设置属性值:prop只能设置固有属性值。 
    attr读取属性值:无论是固有属性还是自定义属性,attr只能读取元素中已有的属性值,读取元素中没有的属性值会返回undefine。 
    attr设置属性值:attr可以对任意属性设置属性值。

    详细解释:http://blog.csdn.net/xiaouncle/article/details/53959496

    write by:tuantuan

  • 相关阅读:
    oc调用rest api
    EF Attach时已存在的处理方式
    设置XtraForm标题居中
    读取DBF文件数据
    GP 环境参数名称列表
    MapWinGIS.ocx 注册
    ArcEngine :The XY domain on the spatial reference is not set or invalid错误
    批量修改sql server 2008的架构
    net不安装Oracle11g客户端直接使用ODAC
    Ninject使用介绍
  • 原文地址:https://www.cnblogs.com/widgetbox/p/8296725.html
Copyright © 2011-2022 走看看