zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    android开发学习4
    macOS login: Could not determine audit condition 问题解决
    java代码编程规范
    学习进度报告(二)
    学习进度报告(一)
    android开发笔记
    数组
    软件工程第二周开课博客
    第一周学习总结
    用户体验评价
  • 原文地址:https://www.cnblogs.com/wang-yi/p/9805539.html
Copyright © 2011-2022 走看看