jQuery对表格(table)的处理提供了相当强大的功能,比如说对表格特定行(row)或列(column)进行排序、样式改变等等。如果你的英文够好,你可以读读这篇文章:jQuery table manipulation。本文只是介绍如何用jQuery语句对表格中行和列进行选择以及一些简单样式改变,希望它可以对jQuery表格处理的深层学习提供一些帮助。
比如我们有这样一个表格:
第一列 | 第二列 | 第三列 | 第四列 |
第一列 | 第二列 | 第三列 | 第四列 |
第一列 | 第二列 | 第三列 | 第四列 |
第一列 | 第二列 | 第三列 | 第四列 |
第一列 | 第二列 | 第三列 | 第四列 |
对行进行操作比较简单:
如果我们要选择第一行,我们可以用 $('tr:eq(0)')
如果我们要选择第N行,我们可以用 $('tr:eq(n-1)')
如果我们要选择奇数行,我们可以用 $('tr:odd')
如果我们要选择偶数行,我们可以用 $('tr:even')
?
对列的操作相对麻烦一点,但是如果我们知道了其中原理也不难。表格里没有列的元素,第一列实际上是每一行的第一个区域(td)的组合。所以我们可以用循环来实现对行的选择。
如果我们要选择第一列并且对其样式进行改变,我们可以用下面的语句来实现
$(document).ready(function(){
$('table').find('td').each(function(i){ //搜寻表格里的每一个区间
if(i%4 == 0){ //‘4’代表表格总共有4列,如果区间编号被4整除,那么它就属于第一列
$(this).addClass('col_1');} //给区间加上特定样式
});
});
如果我们要选择其它列,只需把上述代码里的
i%4==0
,进行相应的改变。记住:4代表表格的列数,如果你有10列就用10代替;选择第一列,余数等于0,选择第二列,余数应该等于1,如此类推。
我的方法要人为的更改表的列数,代码简单而且不受列数的限制。
$(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>
以上是转之网络
另补充:如果有合并的话我么可以先循环行再循环td,其实只要有思路了这个就不难了。
$('table tr').each(function(i){ //搜寻表格里的每一个区间
$(this).find("td").each(function(j){
if(j== 9){$(this).addClass('word_break');} //给特定的列数加上特定样式
});
});