【javascript】这段JS为什么会翻转数组呢?

来源:百度知道 编辑:UC知道 时间:2024/06/30 04:50:29
<html>
<head>
<script type="text/javascript">
function reverserTable()
{
//获取要翻转表格Table的ID值
var node=document.getElementById('table11');
//找到表格中包含的所有行
var child=node.childNodes[0].childNodes;

//将单元格的内容保存到临时数组newChild中
var newChild=new Array();
for(var i=0;i<child.length;i++)
{
newChild[i]=child[i].firstChild.innerText;
alert(newChild[i]);
}

//移除表格的行
node.removeChild(node.childNodes[0]);
for(var i=newChild.length-1;i>=0;i--)
{
//向表格中添加行
var newRow=node.insertRow(0);
var newCell=newRow.insertCell(0);
newCell.innerHTML=newChild[newChild.length-i-1];
}
}
</script>
</head>
<body>
<a href="javascript:reverserTable();" title="开始颠倒" >切换</a>
<br/>
<br/>
<table border="0" id="table11">
<tr&g

呵呵
没错,那个循环插入的方法中
newChild[newChild.length-i-1]是从0开始的

但你要知道这句的意思:var newRow=node.insertRow(0);

这句话表示在第一行的前面插入新的一行,
所以新插入的就成为第一行了
原来的第一行就成为第二行了

所以插的越早,它就越靠后了
等全部插完以后在页面上看起来就翻转了

希望我解释的你能听明白

------------------

我晕噢
node.insertRow(0);就是在第一个tr的前面插入新的tr
如果table里面本身没有tr,那就是直接插入tr喽

有这么难理解吗????

----------------------

楼主你的理解力这么强,还是期望有一个高手帮你解决吧
本人愚昧,甘拜下风!