:)算问号部分怎么算?谢谢。<TABLE border=1>
<tr><td>5</td><td>23</td><td>??</td></tr>
<tr><td>14</td><td>36</td><td>??</td></tr>
<tr><td>??</td><td>??</td><td>??</td></tr>
</TABLE>

解决方案 »

  1.   

    <TABLE border=1 id=mxh>
    <tr><td>5</td><td>23</td><td onclick="this.innerText=parseInt(this.parentElement.cells[0].innerText)+parseInt(this.parentElement.cells[1].innerText)">??</td></tr>
    <tr><td>14</td><td>36</td><td onclick="this.innerText=parseInt(this.parentElement.cells[0].innerText)+parseInt(this.parentElement.cells[1].innerText)>??</td></tr>
    <tr><td>??</td><td>??</td><td onclick="this.innerText=parseInt(this.parentElement.cells[0].innerText)+parseInt(this.parentElement.cells[1].innerText)">??</td></tr>
    </TABLE>
      

  2.   

    不错,好极了!
    能问一下parentelement、cell、innertext等关键字从那些书里可以看到吗?或者有电子文档可以参阅吗?我猜想parseInt是java的函数是吗?
      

  3.   

    晚了一步。既然写了还是帖吧。可能有用。
    <HTML>
    <HEAD>
    <script language=javascript>function hCounter(){
       theTable.rows(1).cells(2).innerHTML = parseInt(theTable.rows(1).cells(0).innerHTML) + parseInt(theTable.rows(1).cells(1).innerHTML);
    }function zCounter(){
       theTable.rows(3).cells(0).innerHTML = parseInt(theTable.rows(1).cells(0).innerHTML) + parseInt(theTable.rows(2).cells(0).innerHTML);
    }
    </script>
    </HEAD><BODY><table border=1 id=theTable>
    <tr><td colspan=2>&nbsp;<td><a href="javascript:hCounter()">横向合计</a></td></tr>
    <tr><td>1<td>2<td>&nbsp;</tr>
    <tr><td>2<td>3<td>&nbsp;</tr>
    <tr><td>&nbsp;<td>&nbsp;<td><a href="javascript:zCounter()">纵向合计</a></tr>
    </table>
    </BODY>
    </HTML>
      

  4.   

    好极了!谢谢两位。to : net_lover(孟子E章)
    你写的id好象没有用上啊,是不是随手copy来的与此无关?
      

  5.   

    为什么如果其中一个数字是0开头如:012,计算结果就不对了?<table border=1 id=theTable>
    <tr><td>1345</td><td>5432</td><td></td></tr>
    <tr><td>345</td><td>035</td><td></td></tr>
    <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    </table>
      

  6.   

    你把我的代码里类似:parseInt(theTable.rows(1).cells(0).innerHTML)
    的都改成:parseInt(theTable.rows(1).cells(0).innerHTML.replace(/0*/,''))。就是在innerHTML后面都加上.replace(/0*/,'')他的作用是去掉0.比如:function hCounter(){
       theTable.rows(1).cells(2).innerHTML = parseInt(theTable.rows(1).cells(0).innerHTML.replace(/0*/,'')) + parseInt(theTable.rows(1).cells(1).innerHTML.replace(/0*/,''));
    }
    replace(/0*/,'')
      

  7.   

    谢谢,给分。顺便问一下,theTable是关键字吗?如果多个table的话有没有问题?
      

  8.   

    theTable 不是关键字,随便取. myTable, 或 learnnerTable都可以,哈哈。
      

  9.   

    如果;
    <table border=1 id=theTable>
    改成了<table border1 id=learnnerTable>就要把theTable.rows(1).xxxxxxx前面改成 learnerTable.rows(1).xxxxx 总之,两者要一致。
      

  10.   

    给你一个完美的代码;不限制行数、列数,可以计算整数和小数;并且有判断数字的能力。<body onload="test()">
    <table id=mxh border="1">
    <tr><td>02.01</td><td>100</td><td></td></tr>
    <tr><td>2</td><td>0100</td><td></td></tr>
    <tr><td>AAA2</td><td>0100</td><td></td></tr>
    <tr><td></td><td></td><td></td></tr>
    </table>
    <script>
    function test()
    {
    for(var i=0;i<document.all.mxh.rows.length;i++)
    {
    var tmp = 0
    for(var j=0;j<document.all.mxh.rows[i].cells.length - 1;j++)
    { if(!isNaN(parseFloat(document.all.mxh.rows[i].cells[j].innerText)))
    tmp += parseFloat(document.all.mxh.rows[i].cells[j].innerText)
    }
    document.all.mxh.rows[i].cells[document.all.mxh.rows[i].cells.length - 1].innerText = tmp
    }

    for(var i = 0;i<document.all.mxh.rows[document.all.mxh.rows.length-1].cells.length;i++)
    {
    var tmp=0
    for(var j = 0;j<document.all.mxh.rows.length-1;j++)
    { if(!isNaN(parseFloat(document.all.mxh.rows[j].cells[i].innerText)))
    tmp+=parseFloat(document.all.mxh.rows[j].cells[i].innerText)
    }
    document.all.mxh.rows[document.all.mxh.rows.length-1].cells[i].innerText=tmp
    }
    }
    </script>
      

  11.   

    <body onload="test()">
    <table id=mxh border="1">
    <tr><td>-02</td><td>100</td><td></td></tr>
    <tr><td>2</td><td>0100</td><td></td></tr>
    <tr><td>AAA2</td><td>0100</td><td></td></tr>
    <tr><td></td><td></td><td></td></tr>
    </table>
    <script>
    function test()
    {
    for(var i=0;i<document.all.mxh.rows.length;i++)
    {
    var tmp = 0
    for(var j=0;j<document.all.mxh.rows[i].cells.length - 1;j++)
    {
    if(!isNaN(parseFloat(document.all.mxh.rows[i].cells[j].innerText)))
    tmp += parseFloat(document.all.mxh.rows[i].cells[j].innerText)
    }
    document.all.mxh.rows[i].cells[document.all.mxh.rows[i].cells.length - 1].innerText = tmp
    document.all.mxh.rows[i].cells[document.all.mxh.rows[i].cells.length - 1].style.backgroundColor="#ff99ff"
    document.all.mxh.rows[i].cells[document.all.mxh.rows[i].cells.length - 1].style.fontWeight = "bold"
    }for(var i = 0;i<document.all.mxh.rows[document.all.mxh.rows.length-1].cells.length;i++)
    {
    var tmp=0
    for(var j = 0;j<document.all.mxh.rows.length-1;j++)
    {
    if(!isNaN(parseFloat(document.all.mxh.rows[j].cells[i].innerText)))
    tmp+=parseFloat(document.all.mxh.rows[j].cells[i].innerText)
    }
    document.all.mxh.rows[document.all.mxh.rows.length-1].cells[i].innerText=tmp
    document.all.mxh.rows[document.all.mxh.rows.length-1].cells[i].style.backgroundColor = "#ff99ff"
    document.all.mxh.rows[document.all.mxh.rows.length-1].cells[i].style.fontWeight = "bold"
    }
    }
    </script>