heartstill

博客园 首页 新随笔 联系 订阅 管理

http://www.61dh.com/blog/2008/09/jquery-table.html#demo1

jQuery 选择表格(table)里的行和列

jQuery对表格(table)的处理提供了相当强大的功能,比如说对表格特定行(row)或列(column)进行排序、样式改变等等。如果你的英文够好,你可以读读这篇文章:jQuery table manipulation。本文只是介绍如何用jQuery语句对表格中行和列进行选择以及一些简单样式改变,希望它可以对jQuery表格处理的深层学习提供一些帮助。

比如我们有这样一个表格:

第一列 第二列 第三列 第四列
第一列 第二列 第三列 第四列
第一列 第二列 第三列 第四列
第一列 第二列 第三列 第四列
第一列 第二列 第三列 第四列

对行进行操作比较简单:

  1. 如果我们要选择第一行,我们可以用 $('tr:eq(0)')
  2. 如果我们要选择第N行,我们可以用 $('tr:eq(n-1)')
  3. 如果我们要选择奇数行,我们可以用 $('tr:odd')
  4. 如果我们要选择偶数行,我们可以用 $('tr:even')

对列的操作相对麻烦一点,但是如果我们知道了其中原理也不难。表格里没有列的元素,第一列实际上是每一行的第一个区域(td)的组合。所以我们可以用循环来实现对行的选择。

  1. 如果我们要选择第一列并且对其样式进行改变,我们可以用下面的语句来实现
    $(document).ready(function(){
    
      $('table').find('td').each(function(i){//搜寻表格里的每一个区间
    
        if(i%4 == 0){ //‘4’代表表格总共有4列,如果区间编号被4整除,那么它就属于第一列
    
          $(this).addClass('col_1');}//给区间加上特定样式
    
        });
    
    });
  2. 如果我们要选择其它列,只需把上述代码里的i%4==0,进行相应的改变。记住:4代表表格的列数,如果你有10列就用10代替;选择第一列,余数等于0,选择第二列,余数应该等于1,如此类推。

演示:

更新(2009/10/20):感謝JOE的補充!我的方法要人為的更改表的列數,而JOE的方法不但代碼簡單而且不受列數的限制。

$(document).ready(function(){
  $('#button1').click(function(){  
    $('#demo1 tr').each(function() {
      $(this).find("td:first").css({color:"red", fontWeight:"bold"});
    });
  });
});
演示:

另外還可以改變選擇器從而改變偶數列或者奇數列。注意:第一列從0開始,所以td:odd代表偶數列。

<script type="text/javascript">
$(document).ready(function(){
  $('#10200902').click(function(){  
    $('#demo1 tr').each(function() {
    //alert("me");
    $(this).find("td:odd").css({color:"green", fontWeight:"bold"});
  });
});
});
</script>
//注意:第一列從0開始,所以td:odd代表偶數列
<button id="10200902">点击改变以上表格的偶數列</button>
posted on 2011-06-07 15:02  开始测试  阅读(3870)  评论(0编辑  收藏  举报