jquery表格复选框简单练习及prop(),attr()的应用原则

table_style.css 样式
table { border:0;border-collapse:collapse;} td { font:normal 12px/17px Arial;padding:2px;width:100px;} th { font:bold 12px/17px Arial;text-align:left;padding:4px;border-bottom:1px solid #333;} .even { background:#FFF38F;} /* 偶数行样式*/ .odd { background:#FFFFEE;} /* 奇数行样式*/ .selected { background:#FF6500;color:#fff;}
<!DOCTYPE html>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="css/table_style.css" rel="stylesheet" type="text/css" />
</head>
<script type="text/javascript" src="../js/jquery-3.1.1.min.js"></script>
        <script type="text/javascript">
        //这里用的jquery版本是3.1.1
        //这里关于如何选择用prop和attr
        //第一原则:只添加属性名称该属性就会生效应该使用prop;
        //第二原则:只㛮true/false的属性使用prop  比如disabled 和checked 这些属性 否则你下面会出现bug
        
          $(function(){
              $("tbody>tr:odd").addClass("odd");
              $("tbody>tr:even").addClass("even");
              
             $('tbody>tr').click(function() {
            /*     if ($(this).hasClass('selected')) {
                $(this)
                    .removeClass('selected')
                    .find(':checkbox').prop('checked',false);
            }else{
                $(this)
                    .addClass('selected')
                    .find(':checkbox').prop('checked',true);
            } */
            var hasSelected=$(this).hasClass("selected");
             //三元运算
             
             $(this)[hasSelected ? "removeClass" : "addClass"]('selected')
                    //  注意这里不能用attr仔细一点你就会发现bug如果用attr
                    .find(":checkbox").prop('checked',!hasSelected);
             
             });
        });
        </script>

<body>
    <table>
        <thead>
            <tr><th> </th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
        </thead>
        <tbody>
            <tr><td><input type="checkbox" name="choice" value=""/></td>
                <td>张山</td><td></td><td>浙江宁波</td></tr>
            <tr><td><input type="checkbox" name="choice" value="" /></td>
                <td>李四</td><td></td><td>浙江杭州</td></tr>
            <tr><td><input type="checkbox" name="choice" value="" checked='checked' /></td>
                <td>王五</td><td></td><td>湖南长沙</td></tr>
            <tr><td><input type="checkbox" name="choice" value="" /></td>
                <td>找六</td><td></td><td>浙江温州</td></tr>
            <tr><td><input type="checkbox" name="choice" value="" /></td>
                <td>Rain</td><td></td><td>浙江杭州</td></tr>
            <tr><td><input type="checkbox" name="choice" value="" /></td>
                <td>MAXMAN</td><td></td><td>浙江杭州</td></tr>
        </tbody>
    </table>

</body>
</html>

 

posted @ 2017-03-22 11:31  ForYouForMe  阅读(266)  评论(0编辑  收藏  举报