
这里我使用Jquery库,这个就不用过多介绍了,有几个知识点:
- 选择器tr:eq(index),表示选择指定index索引的tr元素,index索引从0开始
- tempRow.parent(),表示返回tempRow对象的父节点对象
- $("
| ").prependTo(),表示将一个td元素添加到指定元素的内容头部
实例代码
index.html
代码如下:
script>
课别 |
班别 |
班次 |
出勤时间 |
陈伟勋 |
一班制 |
白班 |
2011-09-09 |
陈伟勋 |
一班制 |
夜班 |
2011-09-09 |
陈伟勋 |
两班制 |
白班 |
2011-09-09 |
陈伟勋 |
两班制 |
白班 |
2011-09-09 |
陈伟勋 |
两班制 |
夜班 |
2011-09-09 |
陈伟勋 |
三班制 |
早班 |
2011-09-09 |
陈伟勋 |
三班制 |
中班 |
2011-09-09 |
陈伟勋 |
三班制 |
晚班 |
2011-09-09 |
张文军 |
一班制 |
白班 |
2011-09-09 |
张文军 |
两班制 |
白班 |
2011-09-09 |
张文军 |
两班制 |
白班 |
2011-09-09 |
张文军 |
两班制 |
夜班 |
2011-09-09 |
张文军 |
三班制 |
夜班 |
2011-09-09 |
张文军 |
三班制 |
中班 |
2011-09-09 |
var grid = $("#gridview");
var rowCount = grid.find("tr").length - 1;
var flagRow = grid.find("tr:eq("+rowCount+")").find("td:eq(0)").html();
var sp = 0;
for(var i = rowCount; i >=0; i--) {
var tempRow = grid.find("tr:eq("+i+")");
if(flagRow == tempRow.find("td:eq(0)").html()) {
tempRow.find("td:eq(0)").remove();
}
else {
$("
| ").attr("rowspan", rowCount-i-sp).html(flagRow).prependTo(tempRow.parent().find("tr:eq("+(i+1)+")"));
flagRow = tempRow.find("td:eq(0)").html();
sp = rowCount-i;
if(i != 0) {
tempRow.find("td:eq(0)").remove();
}
}
}
script>
注释掉Jquery代码的效果图

运行Jquery代码的效果图

小结
代码写得很粗糙,只是简单做个笔记,最近在忙着整理编写一些Jquery插件和discuz插件,Python和PyQt的相关文章都未来得及整理发布,唉,时间不够用啊,只能慢慢来了。Jquery是相当不错的说,内置Sizzle选择器后,那速度更是飞一般,貌似现在到1.6版本了,希望越做越好吧!