• jQuery 使用attr()方式设置 checked 失效原因及解决方法


      使用jQuery 的attr() 方法设置选择框 checked 失效核心原因是因   property 和 attribute 实时同步的原因 。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="https://lib.baomitu.com/jquery/3.3.0/jquery.js"></script>
        </head>
        <body>
                <input type="checkbox" id="input"/>
        </body>
        <script>
            //方法一
            $("#input").prop("checked",true);
            //方法二
            var input = document.querySelector("#input");
            input.checked=true;
        </script>
    </html>

      首先写出其解决办法:

        方法1:使用 $(选择器).prop(“checked ”,true),进行设置 。

        方法2:使用JS 获得元素,设置checked属性 为 true(选中) 或 false (不选中)

      property  : 原生JS对对象的属性称之为 property 

      attribute :HTML元素标签上的属性称之为attribute。

      使用jQuery操作的元素属性时:布尔值属性:使用prop()  ,非布尔值属性:使用attr() 。 

    总结:

      attribute 与 property 同步关系

        非布尔值属性:实时同步。

        布尔值属性:

          property 永远不会同步至attribute

          在没有改动过property的情况下   attribute 会同步至 property

          在改动过property的情况下    attribute 不会同步至 property

  • 相关阅读:
    C语言相关题目6
    C语言相关题目7
    C语言相关题目8
    C语言相关题目9
    哈夫曼编码
    查看linux系统信息命令
    C++基类和派生类的构造函数/析构函数
    C++的const类成员函数
    c++中的static关键字的作用
    为什么二叉树的叶子结点数等于度为2的结点数+1
  • 原文地址:https://www.cnblogs.com/wang-yi/p/9805539.html
Copyright © 2020-2023  润新知