国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery實現合并表格單元格中相同行操作示例

2024-05-06 15:42:49
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery實現合并表格單元格中相同行操作。分享給大家供大家參考,具體如下:

合并的方法

$("#tableid").mergeCell({  cols:[X,X] ///參數為要合并的列})
/*** 操作表格 合并單元格 行* 2016年12月13日16:00:41*/(function($) {  // 看過jquery源碼就可以發現$.fn就是$.prototype, 只是為了兼容早期版本的插件  // 才保留了jQuery.prototype這個形式  $.fn.mergeCell = function(options) {    return this.each(function() {      var cols = options.cols;      for ( var i = cols.length - 1; cols[i] != undefined; i--) {       // fixbug console調試       // console.debug(cols[i]);       mergeCell($(this), cols[i]);      }      dispose($(this));    });  };  // 如果對javascript的closure和scope概念比較清楚, 這是個插件內部使用的private方法  // 具體可以參考本人前一篇隨筆里介紹的那本書  function mergeCell($table, colIndex) {    $table.data('col-content', ''); // 存放單元格內容    $table.data('col-rowspan', 1); // 存放計算的rowspan值 默認為1    $table.data('col-td', $());   // 存放發現的第一個與前一行比較結果不同td(jQuery封裝過的), 默認一個"空"的jquery對象    $table.data('trNum', $('tbody tr', $table).length); // 要處理表格的總行數, 用于最后一行做特殊處理時進行判斷之用    // 我們對每一行數據進行"掃面"處理 關鍵是定位col-td, 和其對應的rowspan    $('tbody tr', $table).each(function(index) {      // td:eq中的colIndex即列索引      var $td = $('td:eq(' + colIndex + ')', this);      // 取出單元格的當前內容      var currentContent = $td.html();      // 第一次時走此分支      if ($table.data('col-content') == '') {        $table.data('col-content', currentContent);        $table.data('col-td', $td);      } else {        // 上一行與當前行內容相同        if ($table.data('col-content') == currentContent) {          // 上一行與當前行內容相同則col-rowspan累加, 保存新值          var rowspan = $table.data('col-rowspan') + 1;          $table.data('col-rowspan', rowspan);          // 值得注意的是 如果用了$td.remove()就會對其他列的處理造成影響          $td.hide();          // 最后一行的情況比較特殊一點          // 比如最后2行 td中的內容是一樣的, 那么到最后一行就應該把此時的col-td里保存的td設置rowspan          if (++index == $table.data('trNum'))            $table.data('col-td').attr('rowspan', $table.data('col-rowspan'));        } else { // 上一行與當前行內容不同          // col-rowspan默認為1, 如果統計出的col-rowspan沒有變化, 不處理          if ($table.data('col-rowspan') != 1) {            $table.data('col-td').attr('rowspan', $table.data('col-rowspan'));          }          // 保存第一次出現不同內容的td, 和其內容, 重置col-rowspan          $table.data('col-td', $td);          $table.data('col-content', $td.html());          $table.data('col-rowspan', 1);        }      }    });  }  // 同樣是個private函數 清理內存之用  function dispose($table) {    $table.removeData();  }})(jQuery);            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 东港市| 资兴市| 博乐市| 大港区| 库尔勒市| 海盐县| 梁平县| 宜宾市| 称多县| 江达县| 霍林郭勒市| 富蕴县| 伊宁市| 余庆县| 古蔺县| 镇江市| 靖州| 高青县| 本溪| 诸城市| 吉木乃县| 怀仁县| 洪江市| 岳普湖县| 涞源县| 永春县| 靖西县| 东乡| 云阳县| 虞城县| 长葛市| 荣成市| 合川市| 昂仁县| 凤冈县| 邵武市| 大冶市| 历史| 兴安县| 安图县| 开封市|