久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

javascript 實(shí)現(xiàn)簡(jiǎn)單的table排序

 quasiceo 2012-12-28

javascript 實(shí)現(xiàn)簡(jiǎn)單的table排序

在這個(gè)列子中,,練習(xí)了table的操作,主要有:tBodies,、rows,、cells,還有有關(guān)數(shù)組的排序方法:sort

先上代碼:

復(fù)制代碼
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>table排序</title>
</head>

<body>
<table id="tableTest" width="400" border="1">

    <tbody>
        <tr>
            <td>2</td>
            <td>bbb</td>
            <td> </td>
            <td> </td>
        </tr>
        <tr>
            <td>5</td>
            <td>eee</td>
            <td> </td>
            <td> </td>
        </tr>        
        <tr>
            <td>3</td>
            <td>ccc</td>
            <td> </td>
            <td> </td>
        </tr>
        <tr>
            <td>4</td>
            <td>ddd</td>
            <td> </td>
            <td> </td>
        </tr>
        <tr>
            <td>1</td>
            <td>aaa</td>
            <td> </td>
            <td> </td>
        </tr>
    </tbody>
</table>
<input type="button" id="sort" value="表格排序" />
<script>
    window.onload = function () {
        var oTable = document.getElementById('tableTest');
        var oTbody = oTable.tBodies[0];
        var oBtn = document.getElementById('sort');
        var arr = [];//用來(lái)存放每一個(gè)tr
        var isAsc = true;//用來(lái)判斷升序,,還是降序
        
        oBtn.onclick = function () {
            for (var i = 0; i < oTbody.rows.length; i++ ) {
                arr[i] = oTbody.rows[i];//這里是把每一個(gè)tr存放到一個(gè)數(shù)組,,而不是排序的依據(jù)(這里是cells[0].innerHTML)    
                }
                
            //數(shù)組根據(jù)cells[0].innerHTML來(lái)排序
            arr.sort(function (td1, td2){
                if(isAsc) {
                    return parseInt(td1.cells[0].innerHTML) - parseInt(td2.cells[0].innerHTML);
                    } else {
                        return parseInt(td2.cells[0].innerHTML) - parseInt(td1.cells[0].innerHTML);
                        }
                
                });
            //把排序后的tr 重新插入tbody
            for(var j =0; j < arr.length; j++ ) {
                oTbody.appendChild(arr[j]);
                }
            //判斷升序,降序
            isAsc = !isAsc;
            } 
        }
</script>
</body>
</html>
復(fù)制代碼

 下面啰嗦一些相關(guān)的知識(shí)點(diǎn):

我們都知道,,平時(shí)操作一般的DOM可以getElementsByTagName,、getElementById云云來(lái)獲取相關(guān)節(jié)點(diǎn)

在table中當(dāng)然這種方法也可以實(shí)現(xiàn)

顯然,這樣操作會(huì)很麻煩

所以,,對(duì)于table我們可以用另一套方法,、屬性來(lái)操作:

在這之前,先說(shuō)一些有關(guān)table的東東:

平時(shí)寫table相信很多人會(huì)直接這么寫:

復(fù)制代碼
<table id="tableTest" width="400" border="1">    
        <tr>
            <td>3</td>
            <td>ccc</td>
            <td> </td>
            <td> </td>
        </tr>
</table>
復(fù)制代碼

如果,,你firebug查看一下代碼,,你會(huì)發(fā)現(xiàn)會(huì)多出一個(gè)tbody來(lái),,明明源代碼是沒有的

這是為毛?,!

其實(shí),,table的真正結(jié)構(gòu)是:table中也包括:thead、tbody,、tfoot,,其中tbody是可以多個(gè)的

回到主題上來(lái):

javascript中有關(guān)table元素的屬性、方法:

  1. caption:保存著對(duì)<caption>元素(如果有)的指針
  2. tBodies:是一個(gè)<tbody>元素的HTMLCollection
  3. tFoot:保存著對(duì)<tfoot>元素(如果有)的指針
  4. tHead:保存著對(duì)<thead>元素(如果有)的指針
  5. rows:是一個(gè)表格中所有行的HTMLCollection
  6. createTHead():創(chuàng)建<thead>元素,,將其放到表格中,,并返回引用
  7. createTFoot():創(chuàng)建<tfoot>元素,將其放到表格中,,并返回引用
  8. createCaption():創(chuàng)建<caption>元素,,將其放到表格中,并返回引用
  9. deleteTHead():刪除<thead>元素
  10. deleteTFoot():刪除<tfoot>元素
  11. deleteCaption():刪除<caption>元素
  12. deleteRow(pos):刪除指定位置行
  13. insertRow(pos):向rows集合中指定位置插入一個(gè)行

有關(guān)tbody的屬性,、方法:

  1. rows:保存著tbody所有行的HTMLCollection
  2. deleteRow(pos):刪除指定位置的行
  3. insertRow(pos):向rows的集合中的指定位置插入一行,,并返回對(duì)新插入行的引用

有關(guān)tr的屬性、方法:

  1. cells:保存著tr所有td(單元格)的HTMLCollection
  2. deleteCell(pos):刪除指定位置的單元格
  3. insetCell(pos):向cells的集合中的指定位置插入一個(gè)單元格,,并返回對(duì)該單元格的引用

 

OK,,就說(shuō)這些………………

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約