function sortTable(sTableID, iCol, sDataType) {
                var oTable = document.getElementById(sTableID);
                var oTBody = oTable.tBodies[0];
                var colDataRows = oTBody.rows;
                var aTRs = new Array;
        
                for (var i=0; i < colDataRows.length; i++) {

                    aTRs[i] = colDataRows[i];
                    //alert(aTRs[i]);
                }

                if (oTable.sortCol == iCol) {
                    aTRs.reverse();
                } else {
                    aTRs.sort(generateCompareTRs(iCol, sDataType));
                }
        
                var oFragment = document.createDocumentFragment();
                for (var i=0; i < aTRs.length; i++) {
                    oFragment.appendChild(aTRs[i]);
                }
       
                oTBody.appendChild(oFragment);
                oTable.sortCol = iCol;
            }我想给这个数组排序,这里aTRs.reverse();默认顺序不行,我想进行调试我就写了一个alert(aTRs[i]);就是注释掉那句,但是得到的是object.这个数组里面肯定有值,肯定不是object,是日期。。我怎么才能得到日期阿,否则我没法排序阿

解决方案 »

  1.   

    我想下来,是不是var colDataRows = oTBody.rows;
    这句把colDataRows实例化成为一个二维数组,所以我调用1维,就告诉我个object?我再试试
      

  2.   

    alert(aTRs[i]); --->alert(aTRs[i].innerHTML); 会看得更明白
      

  3.   

    楼上说的有道理,数组里面获取的都是DOM对象,alert出来肯定是OBJECT
      

  4.   

    aTRs[i] = colDataRows[i].cells[0].innerText;
      

  5.   

    建议,将表中内容放在一个array中,生成表,对数据的排序只针对array操作.效率会高些,特别是在数据量大时...
    四楼方法OK.