评论

收藏

[jQuery] jQuery之表格变色

开发技术 开发技术 发布于:2021-08-06 12:10 | 阅读数:583 | 评论:0

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部分同上。


关注下面的标签,发现更多相似文章