zoukankan      html  css  js  c++  java
  • 用Jquery实现的一个Table的帮助js

    主要实现的table的辅助功能有:获得当前td的上,下,左,右的td,获得上下tr,获得当前td所处的行列等。
    注意:
        表格中最好不要再套表格,否则可能导致方法失效。
        每个table必须有一个id以便有些方法使用。
    
    
    //***********************************************************
    //* author:scott qian
    //* date:2011/07/23
    //* description:a table helper js based on JQuery
    //***********************************************************
    
    /// <reference path="jquery-1.4.1.min.js" />
    
    //Get the current row index(start from 0)
    function GetCurrentRowIndex(currentTd) {
        return $(currentTd).parent().prevAll("tr").length;
    }
    
    //Get the current column index(start from 0)
    function GetCurrentColumnIndex(currentTd) {
        var num = 0;
        while (true) {
            currentTd = $(currentTd).prev("td");
            if (currentTd.html() == null) {
                break;
            }
            num++;
        }
        return num;
    }
    
    //Get sum row count of the table
    function GetTableRowCount(tableId) {
        return $("#" + tableId + " tr").length;
    }
    
    //Get sum column count of current row
    function GetCurrentRowColumnCount(currentTd) {
        var tempTd = currentTd;
        var num = 0;
    
        //previous count of currentTd
        var prevCount = GetCurrentColumnIndex(currentTd);
        num += prevCount;
    
        //next count of currentId
        while (true) {
            tempTd = $(tempTd).next("td");
            if (tempTd.html() == null) {
                break;
            }
            num++;
        }
    
        //include currentTd itself
        return num + 1;
    }
    
    //Get the previous td element of current td element
    function GetPrevTd(currentTd) {
        return $(currentTd).prev("td");
    }
    
    function GetPrevTr(currentTd) {
        return $(currentTd).parent().prev("tr");
    }
    
    //Get the last td element of current td element
    function GetNextTd(currentTd) {
        return $(currentTd).next("td");
    }
    
    function GetNextTr(currentTd) {
        return $(currentTd).parent().next("tr");
    }
    
    //Get the td element above current td element
    function GetAboveTd(currentTd) {
        var currentColumn = GetCurrentColumnIndex(currentTd);
        return GetPrevTr(currentTd).children("td:eq(" + currentColumn + ")");
    }
    
    //Get the td element below current td element
    function GetBelowTd(currentTd) {
        var currentColumn = GetCurrentColumnIndex(currentTd);
        return GetNextTr(currentTd).children("td:eq(" + currentColumn + ")");
    }
    
    //Get all odd tr element
    function GetOddTr(tableId) {
        return $("#" + tableId + " tr:odd");
    }
    
    //Get all even tr element
    function GetEvenTr(tableId) {
        return $("#" + tableId + " tr:even");
    }
    
    //Give odd tr elements background color
    function BackgroundColorOddTr(tableId, color) {
        GetOddTr(tableId).each(function () {
            $(this).css("background-color", color); 
         });
    }
    
    //Give even tr elements background color
    function BackgroundColorEvenTr(tableId, color) {
        GetEvenTr(tableId).each(function () {
            $(this).css("background-color", color);
        });
    }
    

      

  • 相关阅读:
    build/envsetup.sh 脚本分析 lunch函数
    DEDE自动审核会员发表的最新文章的修改方法
    php学习笔记(三)――操作符与控制结构
    简单的会话类
    学习PHP几个数学计算的内部函数
    关于gotozf学习笔记(11/08/06 12:07)
    再谈中文分词php类
    原站完整打包PHP+MYSQL,可做仿53客服在线客服系统,多用户多国语言企业版
    白话经典算法系列之二 直接插入排序的三种实现
    php 代码运行时间查看类
  • 原文地址:https://www.cnblogs.com/qianlifeng/p/2114967.html
Copyright © 2011-2022 走看看