刚学接触JS 遇到个题目出不来了
- HTML code
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)这句话一直过不去 老是为空 不明白
[解决办法]
[解决办法]
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;
别的没多看,小伙儿好好学学基础知识