var t=document.getElementById("table_id"); var tb=t.rows(0).parentElement; var str=t.rows(0).outerHTML; t.deleteRow(0); t.outerHTML=t.outerHTML.replace(t.innerHTML,tb.innerHTML+str); t=document.getElementById("table_id");//对象变了,必须重新获得要吃饭了又想到一种,这个兼容性应该比较强了!^_^
<TR>
<TD>1</TD>
</TR>
<TR>
<TD>2</TD>
</TR>
<TR>
<TD>3</TD>
</TR>
<TR>
<TD>4</TD>
</TR>
<TR>
<TD>5</TD>
</TR>
<TR>
<TD>6</TD>
</TR>
</TABLE><TABLE id="tb01" border="1" width="300" onclick="c(this);">
<TR>
<TD>1</TD>
</TR>
<TR>
<TD>2</TD>
</TR>
<TR>
<TD>3</TD>
</TR>
<TR>
<TD>4</TD>
</TR>
<TR>
<TD>5</TD>
</TR>
<TR>
<TD>6</TD>
</TR>
</TABLE><SCRIPT Language="JavaScript">
<!--//
function c(obj){
var t = document.getElementById("tb_template");
var e = document.getElementById("tb01"); var tmp=t.rows[0];
e.deleteRow(0);
var row=e.insertRow();
for(var i=0;i<e.rows[0].cells.length;i++){
var td = row.insertCell();
td.noWrap = true;
td.innerHTML = tmp.cells[i].innerHTML;
}
for(i=0;i<t.rows.length;i++){
t.deleteRow(0);
row=t.insertRow();
for(var j=0;j<e.rows[i].cells.length;j++){
var td = row.insertCell();
td.noWrap = true;
td.innerHTML = e.rows[i].cells[j].innerHTML;
}
}}
//-->
</SCRIPT>
t.rows(0).swapNode(t.insertRow());
t.deleteRow(0);
思路:结尾增加一行,首尾互换,删除第一行
缺陷:IE版本要求好像是5.5
原来5.5也支持t.moveRow(0,t.rows.length-1)
^_^
<script type="text/javascript">
//<![CDATA[
var foo = function(){
var a=document.getElementById("t");
a.rows[0].swapNode(a.rows[a.rows.length-1]);
}
//]]>
</script>
<table id="t" border="1">
<tr>
<td>a</td>
<td>b</td>
</tr>
<tr>
<td>c</td>
<td>d</td>
</tr>
<tr>
<td style="color:red">blog.never-online.net</td>
<td>never-online</td>
</tr>
</table>
<button onclick="foo()">change</button>
</body>
var tb=t.rows(0).parentElement;
var str=t.rows(0).outerHTML;
t.deleteRow(0);
t.outerHTML=t.outerHTML.replace(t.innerHTML,tb.innerHTML+str);
t=document.getElementById("table_id");//对象变了,必须重新获得要吃饭了又想到一种,这个兼容性应该比较强了!^_^