js中表格内容排序

JavaScript016

js中表格内容排序,第1张

tr[b].cells[c].innerHTML=td[b].parentNode.cells[c].innerHTML

这一段代码他是使用的html对象。当循环后会出现某些td的parent对象已经被更改了,因此会出现这种情况。

建议将排序后的数组的innerHTML存放到临时变量里面,再进行循环对td、tr赋值即可。

下面是js代码。赶紧给分吧,呵呵

<script language="javascript">

var tr=new Array()//表格中所有行的集合

var td=new Array()//表格中指定列的集会

var a

function px_zm(zhi){ //按某列的值进行行的排序

var tbody=$("tbody")

for(var i=0i<tbody.rows.lengthi++)

{

tr[i]=tbody.rows[i]

td[i]=tr[i].cells[zhi]

}

for(var i=0i<td.lengthi++)

{

for(j=ij<td.lengthj++)

{

if(td[i].innerHTML<td[j].innerHTML)

{

a=td[i]

td[i]=td[j]

td[j]=a

}

}

}

var trTempArray = new Array()

for(var b=0b<4b++){

var tdTempArray = new Array()

for(var c=0c<4c++){

// 将一行的td内容保存到tdTempArray当中。

tdTempArray[c] = td[b].parentNode.cells[c].innerHTML

}

// 将一行内容保存到trTempArray。

trTempArray[b] = tdTempArray

}

// 循环对表格内容重新赋值

for(var b=0b<4b++)

{

for(var c=0c<4c++){

tr[b].cells[c].innerHTML=trTempArray[b][c]

}

}

}

function $(id){

return document.getElementById(id)

}

</script>

"-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>无标题文档</title>

<script type="text/javascript" language="javascript">

function orderli(){

var d = document.getElementById("dli")

var lis = d.getElementsByTagName("li")//获取div先所以li元素

var liids = []//定义数组存储li的id用

for(var i=0,j=lis.lengthi<ji++){

liids.push(lis[i].id)

}

liids.sort()//数组升序排序

for(var i=0,j=liids.lengthi<ji++){

d.getElementsByTagName("ul")[0].appendChild(document.getElementById(liids[i]))

}

}

</script>

</head>

<body>

<button type="button" value="order" onclick="javascript:orderli()">order</button>

<div id="dli">

<ul>

<li id="11">11html代码</li>

<li id="33">33html代码</li>

<li id="22">22html代码</li>

<li id="21">21html代码</li>

<li id="20">20html代码</li>

</ul>

</div>

</body>

</html>

1.如图,一个没有经过固定操作的电子表格,当随着表格被拖动或滚动,需要被固定的首行或首列的信息也跟着滚动消失了。 2.首先打开excel文档,假设我们需要让表格的前两行内容在表格滚动时固定在表格顶部,即第3行与第4行不变,如图所示。