jQuery之表格变色
1.radio
jQuery部分:
<script type="text/javascript"> $(function(){ $("tbody>tr:odd").addClass("odd"); //先排除第一行,然后给奇数行添加样式 $("tbody>tr:even").addClass("even"); //先排除第一行,然后给偶数行添加样式 $('tbody>tr').click(function() { $(this) .addClass('selected') .siblings().removeClass('selected') .end() .find(':radio',this).attr('checked',true); }); // 如果单选框默认情况下是选择的,则高色. // $('table :radio:checked').parent().parent().addClass('selected'); //简化: $('table :radio:checked').parents("tr").addClass('selected'); //再简化: //$('tbody>tr:has(:checked)').addClass('selected'); }) </script>
html部分:
<body> <table> <thead> <tr><th> </th><th>姓名</th><th>性别</th><th>暂住地</th></tr> </thead> <tbody> <tr><td><input type="radio" name="choice" value=""/></td> <td>张山</td><td>男</td><td>浙江宁波</td></tr> <tr><td><input type="radio" name="choice" value="" /></td> <td>李四</td><td>女</td><td>浙江杭州</td></tr> <tr><td><input type="radio" name="choice" value="" checked='checked' /></td> <td>王五</td><td>男</td><td>湖南长沙</td></tr> <tr><td><input type="radio" name="choice" value="" /></td> <td>找六</td><td>男</td><td>浙江温州</td></tr> <tr><td><input type="radio" name="choice" value="" /></td> <td>Rain</td><td>男</td><td>浙江杭州</td></tr> <tr><td><input type="radio" name="choice" value="" /></td> <td>MAXMAN</td><td>女</td><td>浙江杭州</td></tr> </tbody> </table> </body>
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;}
2.checkbox
jQuery部分:
<script type='text/javascript'> $(function(){ //设置除了第一行的其他行的样式 $("tbody>tr:odd").addClass("odd"); $("tbody>tr:even").addClass("even"); $("tbody>tr").click(function(){ //点击选中,如果本来就选中,则取消选中状态 if($(this).hasClass('selected')){ //将selected属性去除,同时将选中的check属性去除 //find()方法找到当前元素的后代元素也就是找到当前tr的后代元素input,修改其属性 $(this).removeClass('selected').find(':checkbox').attr("checked",false); }else{ $(this).addClass('selected').find(':checkbox').attr("checked",true); } }); //将选中的项添加selected样式,注意加上双引号,选择器中 $("tbody :checkbox:checked").parents("tr").addClass("selected"); }); </script>
html部分:
<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>
css部分同上。