为什么我的javascript函数只能执行一次
<scriptlanguage="javascript">functionordernum(sTableID){//获取表格对象varoTable=document.ge...
<script language="javascript">
function ordernum(sTableID)
{
//获取表格对象
var oTable = document.getElementById(sTableID);
var rownum=oTable.rows.length; //行数
//var cellnum=oTable.rows[0].cells.length; //列数
var ordern=1;
for (var j=1; j<=rownum;j++)
{
var varinfo=parseInt(oTable.rows(j).cells[2].innerHTML);//当前行值
var varinfo0=parseInt(oTable.rows[j-1].cells[2].innerText);//上一行值
if (j==1){oTable.rows[1].cells[0].innerText=ordern.toString();}
else
{
if (varinfo<varinfo0)
{ordern=ordern+1;
oTable.rows[j].cells[0].innerText=ordern;}
else{oTable.rows[j].cells[0].innerText=' ';}
}
}j=1;
}
for (i=0;i<4;i++){
ordernum('order'+i);
}</script>
<table border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" id="order0">
<thead>
<tr>
<th height="30"><strong>名次</strong></th>
<th><strong>总分名单</strong></th>
<th>票数</th>
</tr></thead><tbody>
<tr>
<td height="30"></td>
<td>萝卜心美</td>
<td>11</td>
</tr>
<tr>
<td height="30"></td>
<td>白菜帮子</td>
<td>5</td>
</tr>
<tr>
<td height="30"></td>
<td>仙人掌刺</td>
<td>3</td>
</tr>
</tbody>
</table> 展开
function ordernum(sTableID)
{
//获取表格对象
var oTable = document.getElementById(sTableID);
var rownum=oTable.rows.length; //行数
//var cellnum=oTable.rows[0].cells.length; //列数
var ordern=1;
for (var j=1; j<=rownum;j++)
{
var varinfo=parseInt(oTable.rows(j).cells[2].innerHTML);//当前行值
var varinfo0=parseInt(oTable.rows[j-1].cells[2].innerText);//上一行值
if (j==1){oTable.rows[1].cells[0].innerText=ordern.toString();}
else
{
if (varinfo<varinfo0)
{ordern=ordern+1;
oTable.rows[j].cells[0].innerText=ordern;}
else{oTable.rows[j].cells[0].innerText=' ';}
}
}j=1;
}
for (i=0;i<4;i++){
ordernum('order'+i);
}</script>
<table border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" id="order0">
<thead>
<tr>
<th height="30"><strong>名次</strong></th>
<th><strong>总分名单</strong></th>
<th>票数</th>
</tr></thead><tbody>
<tr>
<td height="30"></td>
<td>萝卜心美</td>
<td>11</td>
</tr>
<tr>
<td height="30"></td>
<td>白菜帮子</td>
<td>5</td>
</tr>
<tr>
<td height="30"></td>
<td>仙人掌刺</td>
<td>3</td>
</tr>
</tbody>
</table> 展开
3个回答
展开全部
是执行顺序的问题吧。
要等html加载完成后执行才能得到正确的结果。
把<script>标签放到表格之后,或者把
for (i=0;i<4;i++){
ordernum('order'+i);
}
写进一个函数f(),然后用<body onload='f()'>来执行。
要等html加载完成后执行才能得到正确的结果。
把<script>标签放到表格之后,或者把
for (i=0;i<4;i++){
ordernum('order'+i);
}
写进一个函数f(),然后用<body onload='f()'>来执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是加载顺序的问题,把js放到窗体加载事件或放到html后面
如
window.onload = function(){
//some js
}
或
<html>
<body>
...
<script...></script>
</body>
<html>
建议安装firefox3+浏览器,并安装firebug插件,调试js非常方便
如
window.onload = function(){
//some js
}
或
<html>
<body>
...
<script...></script>
</body>
<html>
建议安装firefox3+浏览器,并安装firebug插件,调试js非常方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这儿只有一个
id="order0"
怎么可以执行
for (i=0;i<4;i++){
ordernum('order'+i);
}
按照你的意思,应该还有
id="order1"
id="order2"
id="order3"
的 table。
还有,最好这样写
window.onload = function() {
for (i=0;i<4;i++){
ordernum('order'+i);
}
}
就能保证文档加载完之后再执行你的代码。
id="order0"
怎么可以执行
for (i=0;i<4;i++){
ordernum('order'+i);
}
按照你的意思,应该还有
id="order1"
id="order2"
id="order3"
的 table。
还有,最好这样写
window.onload = function() {
for (i=0;i<4;i++){
ordernum('order'+i);
}
}
就能保证文档加载完之后再执行你的代码。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询