使用jQuery操作HTML的table表格的实例解析

最终效果图:

简单来看一下其中的主要部分:

HTML:

.td_back_color {
  background-color: red;
}
.td_center {
  text-align: center;
  font-weight:bold;
}

CSS:

<table id="tbl_count">
      <caption>2013春节聚会收支统计</caption>
      <tr>
        <th>姓名</th>
        <th>吃饭</th>
        <th>KTV</th>
        <th>烧烤</th>
        <th>支出</th>
        <th>应付</th>
      </tr>
      <tr>
        <th>周竞成</th>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      ......
    </table>

JavaScript:

var data = [ {
      picture : "http://ww1.sinaimg.cn/mw690/51baa38egw1dzl6l2hjchj.jpg",
      name : "周竞成",
      leftTime : "二月五号",
      phone : "186****2296",
      qq : "",
      workedIn : "浙江 杭州",
      cost : 200,
      project : "吃饭,KTV,烧烤"
    }, ........ 

// 初始化shuju
    var init = function() {
      var tbl_count = $("#tbl_count tr:gt(0)");
      // 吃饭
      var meal_text = $("#tbl_count tr:first th:eq(1)").text();
      // KTV
      var ktv_text = $("#tbl_count tr:first th:eq(2)").text();
      // 烧烤
      var bbq_text = $("#tbl_count tr:first th:eq(3)").text(); 

      $.each(tbl_count, function(i,v){
        var tr_info = tbl_count.eq(i);
        for (var i = 0; i < data.length; i++) {
          var data_info = data[i];
          // 判断姓名相同的
          if(data_info.name == tr_info.find("th:first").text()){
            if(data_info.project.indexOf(meal_text) != -1){
              tr_info.find("td:eq(0)").addClass("td_back_color");
            }
            if(data_info.project.indexOf(ktv_text) != -1){
              tr_info.find("td:eq(1)").addClass("td_back_color");
            }
            if(data_info.project.indexOf(bbq_text) != -1){
              tr_info.find("td:eq(2)").addClass("td_back_color");
            }
            tr_info.find("td:eq(3)").addClass("td_center").text("¥"+data_info.cost);
          }
        }
      });
    };

PS:jQuery获取表格总行数汇总

var rowCount = $('#myTable tr').length; 

var rowCount = $('#myTable >tbody >tr').length; 

$("#myTable").attr('rows').length; 

var rowCount = $('table#myTable:last').index() + 1; 

//Helper function that gets a count of all the rows <TR> in a table body <TBODY>
$.fn.rowCount = function() {
  return $('tr', $(this).find('tbody')).length;
}; 

// USAGE: 

var rowCount = $('#productTypesTable').rowCount(); 

alert(jQuery("#jtkList").find("table").eq(0).find("tr").length);
(0)

相关推荐

  • jQuery操作表格(table)的常用方法、技巧汇总

    以下列出13个jQuery操作table常用到的功能: 1.鼠标移动行变色 复制代码 代码如下: $('#table1 tr').hover(function(){    $(this).children('td').addClass('hover')}, function(){    $(this).children('td').removeClass('hover')}); 方法二: 复制代码 代码如下: $("#table1 tr:gt(0)").hover(function()

  • jQuery html表格排序插件tablesorter使用方法详解

    tablesort是一款很好用的jQuery表格排序插件. 支持多种数据类型排序,会自动识别表格内容数据类型,使用也非常方便. 使用jQuery tablesort实现html表格方法: 1. 下载jQuery和tablesort脚本,并在html中引用该脚本文件: <script type="text/javascript" src="../jquery-latest.js"></script> <script type="

  • JQuery DataTable删除行后的页面更新利用Ajax解决

    使用Jquery的DataTable进行数据表处理非常方便,常遇到的一个问题就是删除一行后页面必须进行更新,需要注意的方法如下:前台页面中初始化table时注意: 复制代码 代码如下: var table = $('#sorting-advanced'); table.dataTable({ 'bServerSide': true, 'sAjaxSource': 'servlet/UserList<%=queryString%>', 'bProcessing': true, 'bStateSa

  • jquery获取table中的某行全部td的内容方法

    复制代码 代码如下: <table><tr class="PurViewData" id="trid95">    <td>14</td>    <td id="95"><a style="color:#0000CC" href="/PurviewManage/AddPurview?id=95">TopParty优惠</a>

  • jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)

    本文实例讲述了jQuery实现鼠标跟随提示层效果代码.分享给大家供大家参考,具体如下: 运行效果截图如下: Web网站有不少需要用到tip提示层的地方,结合jquery的jquery.cluetip.js ,可以实现本地字符或ajax异步调用显示提示层.如以上购评分明细提示.(优势:宽度需要调用页加载时定义,高度auto , 且三角指定图标能根据显示层的大小位置来调用它的位置,达到醒目直观的效果) jquery.cluetip.css /* global */ #cluetip-close im

  • jQuery表格插件datatables用法详解

    一.Datatables简介 DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格.主要特点: 自动分页处理 即时表格数据过滤 数据排序以及数据类型自动检测 自动处理列宽度 可通过CSS定制样式 支持隐藏列 易用 可扩展性和灵活性 国际化 动态创建表格 免费的 二.如何使用 在做后台的时候并没有美工和前端工程师来配合你做页面,为了显示数据并有一定的美感,我们可以使用jQuery的DataTables插件来帮助我

  • 使用jquery为table动态添加行的实现代码

    这里,用的jquery来做的.关键代码如下: 复制代码 代码如下: //添加數據行: function AddRow(){ var vTb=$("#TbData");//得到表格ID=TbData的jquery对象 //所有的数据行有一个.CaseRow的Class,得到数据行的大小 var vNum=$("#TbData tr").filter(".CaseRow").size()+1;//表格有多少个数据行 var vTr=$("#

  • jquery中的sortable排序之后的保存状态的解决方法

    当时也就从jquery的官方网站上抄了几句搞上去,后来发现用处不大,还挺慢.汗---以至于到今天早上也没搞清楚怎么样才能把排序后的结果保存起来,正好现在公司要做一个这样的功能,就又从新学习了下.首先,在jquery的官方demo(http://jqueryui.com/demos/)上找到了相似的代码.我所要的叫就是portlets(http://jqueryui.com/demos/sortable/portlets.html)这种效果.就像igoogle首页那样的.冒似很简单,把要引用的js

  • jQuery实现html table行Tr的复制、删除、计算功能

    本文实例讲述了jQuery实现html table行Tr的复制.删除.计算功能.分享给大家供大家参考,具体如下: 添加行: function addtr(){ var tr = $("#tb tr").eq(0).clone(); tr.appendTo("#tb"); //tr.insertBefore("#tb tr:last"); } <table id="tb"> <tr> </tr>

  • jquery遍历table的tr获取td的值实现方法

    html代码: <tbody id="history_income_list"> <tr> <td align="center"><input type="text" class="input-s input-w input-hs"></td> <td align="center"><input type="text&q

  • JQuery动态给table添加、删除行 改进版

    复制代码 代码如下: <html> <head> <title> </title> <script src="js/jquery-1.4.2_min.js" type="text/javascript"></script> <script type="text/javascript" language="javascript"> var row

随机推荐