• 前端中的attr和prop的区别


    1.什么是attribute,什么事property
    html标签的预定义和自定义属性我们统称为attribute
    js原生对象的直接属性,我们统称为property
    2.什么是布尔值属性,什么是非布尔值属性
    property的属性值为布尔类型的,我们统称为布尔值属性
    property的属性为非布尔类型的,我们统称为非布尔值属性。
    3.attribute和property的同步关系。
    非布尔值属性:实时同步
    非布尔值属性:
    property永远都不会同步attribute
    在没有动过property的情况下,attribute会同步property.
    在动过property的情况下,attribute不会同步property.
    4.用户操作的是property
    5.浏览器认得是property
    6.对于布尔值属性,我们用prop,而非布尔值属性,我们用attr。因为attr可能性能要好一点。
     
    看例子,checked就是布尔值属性。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
         <script src="script/jquery-1.11.2.min.js"></script>
    </head>
    <body>
        <input type="checkbox" name="items" value="足球"/>足球
        <input type="checkbox" name="items" value="篮球"/>篮球
        <input type="checkbox" name="items" value="乒乓球"/>乒乓球
        <input type="button" value="全选" id="check-all"></input>
    
    
        <script>
    
              $(function(){
    
                 //attr这样只有第一次才有效
                //    $("#check-all").click(function(){
                //         $(":checkbox[name='items']").attr("checked",true);
                //    });
              
                //对于布尔值属性,要用prop
            $("#check-all").click(function(){
                 $(":checkbox[name='items']").prop("checked",true);
            });
              })
        </script>
    </body>
    </html>
    

      

     
    sometimes the hardest part isn't letting go,but rather start over
  • 相关阅读:
    树链剖分 (模板) 洛谷3384
    ST表 (模板) 洛谷3865
    IOI 2005 River (洛谷 3354)
    IOI 2005 River (洛谷 3354)
    poj1094 Sorting It All Out
    poj1094 Sorting It All Out
    spfa(模板)
    HAOI 2006 受欢迎的牛 (洛谷2341)
    HAOI 2006 受欢迎的牛 (洛谷2341)
    洛谷1850(NOIp2016) 换教室——期望dp
  • 原文地址:https://www.cnblogs.com/zhumeiming/p/9689700.html
Copyright © 2020-2023  润新知