function editRow(id) {
             var rowId = document.getElementById(id);//获得当前行
             var row_input = rowId.children.item(2).children.item(1); //获得确定按钮
               row_input.setAttribute("onclick", "editRow(" + id + ")");
             if (row_input.value == "确定") {
                 row_input.value = "修改";
                 var row_value = row_input.children.item(1).children.item(0).value;
                 rowId.cell[1].innerHTML = row_value; //将text里的值给TD
                 row_input.class = "text"; //隐藏input
             } else {
                 row_input.value = "确定";
                 var tdValue = rowId.cell[1].innerHTML;
                 rowId.children(1).item(0).value = tdValue;
                 rowId.children.item(1).children.item(0).value = '';
                 row_input.class = "text1";
             }
         }
        function edit(id){
            var title = document.getElementById("table").rows[0];
            title.className = "title";
        }
        function deleteRow(r) {
            var i = r.parentNode.parentNode.rowIndex
            alert(i);
           document.getElementById("table").deleteRow(i)
        }
    </script>
    <style type="text/css">
        #table{ border:1;}
        .title{ text-align:center;font-weight:bold; background-color:#cccccc;}
        .text{ display:none;}
        .text1{
            display:block;
            text-align:center;
            }
    </style>
</head>
<body>
        <table id="table" >
            <tr id="tr1">
                <td>书名</td>
                <td>价格</td>
                <td>操作</td>
            </tr>
            <tr   id="tr2">
                <td>编程艺术</td>
                <td>100¥</td>
                <td>
                <input  type="button"  value="删除" onclick="deleteRow(this)"/>
                <input  type="button"  value="修改" onclick="editRow(tr2)"/>
                </td>
                 
            </tr>
            <tr id="tr3">
                <td>asp.net</td>
                <td>100¥</td>
                 <td>
                 <input  type="button"  value="删除" onclick="deleteRow(this)"/>
                 <input  type="button"  value="修改" onclick="editRow(tr3)"/>
                 </td>
            </tr>
            <tr  colspan="3" >
                <td><input type="button" value="增加订单" onclick="addRow()" /></td>
              </tr>
        </table>
        <input type="button" value="删除第二行"  onclick="add()"/>
        <input type="button" value="增加一行" />
        <input type="button" value="修改标题样式"  onclick="edit()" />
        <input  type="button" value="复制到最后一行"/>
        </body>
</html> var row_input = rowId.children.item(2).children.item(1)这句话一直过不去 老是为空 不明白

解决方案 »

  1.   

    想先接触JS 在学习jquery 弄懂JS jquery 能更好的理解吧
      

  2.   

    建议:id定义到具体的按钮,如<input  type="button" id="tr2" value="修改" onclick="editRow('tr2')"/>
    这样可以直接取value,  document.getElementById(id).value
      

  3.   

     var row_input = rowId.children.item(2).children.item(1)这句话能过啊
    到是下面的错误一大堆
      

  4.   

    document.getElementById(id).getElementsByTagName("input");
    多简单..
      

  5.   

    这句没有错。。但是你传值有问题: <input  type="button"  value="修改" onclick="editRow('tr2')"/>
      

  6.   

     你这样获得的不是全部的 input标签吗 ?  如果要修改的时候还在用for来遍历吧
      

  7.   

    var row_input = rowId.children.item(2).children.item(1)这句话一直过不去 老是为空
    是因为你在调用的时候比如这句 
    <input  type="button"  value="Edit" onclick="editRow(tr2)"/>
    tr2 JS不知道是什么 要加引号,给人说不是变量名,是字符串
     <input  type="button"  value="Edit" onclick="editRow('tr2')"/>还有var tdValue = rowId.cell[1].innerHTML;
    应该是cells
    var tdValue = rowId.cells[1].innerHTML;rowId.children(1).item(0).value = tdValue;
    应该是childNodes
    rowId.childNodes[1].item(0).value = tdValue;
    别的没多看,小伙儿好好学学基础知识
      

  8.   

    或用firebug吧,自己调试一下看看哪里出错了,不会用的话上网搜搜视频,学学,对初学者很有用,不只是初学者,对开发人员都很有用