zoukankan      html  css  js  c++  java
  • jQuery对表格的操作

    1.表格变色

    (1)普通的隔行变色

    CSS代码:

    .even{background:#fff;}   //偶数行样式

    .even{background:#fff;}   //奇数行样式

    ①包括表头

    $(function(){
            $("tr:odd").addClass("odd");
            $("tr:even").addClass("even");
    })
    

    ②不包括表头

    $(function(){
            $("tbody>tr:odd").addClass("odd");
            $("tbody>tr:even").addClass("even");
    })
    

    ③某一行高亮

    $("tr:contains('王五')").addClass("selected");
      
    

    2.单选框控制表格行高亮,即:单击某一行后,此行被选中高亮显示,且单选框被选中

    步骤:给表格添加单击事件,给单击的当前行添加高亮样式,将它的兄弟行的高亮样式去掉,将当前行里的单选框设置为选中

    $('tbody>tr').click(function(){
          $(this)
                    .addClass('selected')
                    .siblings.removeClass('selected')
                    .end()
                    .find(':radio').attr('checked',true);
    }); 

    注释:①当前对象是$(this),当进行.addClass('selected')操作时对象未发生变化,当执行.siblings.removeClass('selected')时,对象变为$(this).siblings(),如果需要重新返回到$(this),就要使用end()方法

    ②如果表格初始化时,默认已经有单选框被选中,默认选中的行要被高亮显示

    $('table:radio:checked').parent().parent().addClass('selected');
    

      

    3.复选框控制表格行高亮

    复选框能选则多行变色且不限制个数

    单击某行时,如果已经高亮,移除高亮样式并去掉当前复选框的选中状态;若没高亮,添加高亮样式并将当前的复选框选中

    判断是否已经高亮,使用hasClass()方法

    $('tbaody>tr').click(function(){
          if($(this).hasClass('selected')){
                $(this)
                          .removeClass('selected')
                          .find('checkbox').attr('checked',false);
          }else{
                 $(this)
                          .addClass('selected')
                          .find('checkbox').attr('checked',true);
          }
    });

    简化:

    $('tbaody>tr').click(function(){
          var hasSelected=$(this).hasClass('selected');
          $(this).[hasSelected?"removeClass":"addClass"]('selected');
                    .find('checkbox').attr('checked',! hasSelected);
    });
    

      

    4.表格展开关闭

    <tr class="parent" id=row_01><td colspan="3">前台设计组</td></tr>
    <tr class="child_row_01"><td>张三</td></tr>
    <tr class="child_row_02"><td>李四</td></tr>

    给分类行设置了class="parent"属性以及id,子行设置了class属性,值在父id值得基础上加child

    $(function(){
          $('tr.parent').click(function(){
                $(this)
                         .toggleClass("selected");
                         .siblings('.child_'+this.id).toggle();
          });
    });
    

    5.表格内容筛选→contains选择器+filter()筛选方法

  • 相关阅读:
    编译
    Package vim is not available, but is referred to by another package.
    Http 请求处理流程 Asp.Net 编程 TraceFact.Net
    JavaScript中两个感叹号的作用
    IE6 链接失效 <a>失效 不能点击
    父元素绝对定位 子元素在IE6 不能点击
    ie6 ie7 绝对定位 相对定位 层被遮住
    HTTP深入浅出http请求
    主流的js template引擎 前端模板
    第3章:基本概念(一)
  • 原文地址:https://www.cnblogs.com/bobonote/p/7399537.html
Copyright © 2011-2022 走看看