<tr> <td>1</td> <td>nxy</td> <td>女</td> <td> <a href="Javascript:void(0);" onclick="delTr()">删除</a> </td> </tr> <script> function delTr(obj) { var tr = obj.parentNode.parentNode; var table = tr.parentNode; document.getElementsByTagName("table")[0].removeChild(tr); } </script> 代码哪里有错,请改正
时间: 2024-02-16 19:14:06 浏览: 71
这段代码中的 delTr 函数没有传入参数,所以在调用该函数时会导致错误。应该将 onclick 事件绑定的函数修改为 `delTr(this)`,并且将参数 obj 加入函数中,代码如下:
```
<tr>
<td>1</td>
<td>nxy</td>
<td>女</td>
<td>
<a href="Javascript:void(0);" onclick="delTr(this)">删除</a>
</td>
</tr>
<script>
function delTr(obj) {
var tr = obj.parentNode.parentNode;
var table = tr.parentNode;
table.removeChild(tr);
}
</script>
```
同时,由于该代码中只有一张表格,可以直接使用 `document.getElementsByTagName("table")[0]` 来获取第一张表格,而不需要使用变量 `table`。
相关问题
删除功能报错,请改正 <body> <div> <table id="table"> <thead>学生信息表</thead> <tr> <td id="id">编号</td> <td id="tname">姓名</td> <td>性别</td> <td>操作</td> </tr> <tr> <td>1</td> <td>nxy</td> <td>女</td> <td> <a href="Javascript:void(0);" onclick="delTr(this)">删除</a> </td> </tr> </table> </div> <script> function delTr(obj) { var tr = obj.parentNode.parentNode; var table = tr.parentNode; document.getElementsByTagName("table")[0].removeChild(tr); } </script> </body>
在这段代码中,删除功能的实现有一个错误。应该在thead标签中加入一个tr标签来包含标题行中的所有单元格,以便使其与数据行具有相同的列数。同时,应该更改thead标签的显示方式为表头,而不是普通文本。修改后的代码如下:
```
<body>
<div>
<table id="table">
<thead>
<tr>
<th>学生信息表</th>
</tr>
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>nxy</td>
<td>女</td>
<td>
<a href="Javascript:void(0);" onclick="delTr(this)">删除</a>
</td>
</tr>
</tbody>
</table>
</div>
<script>
function delTr(obj) {
var tr = obj.parentNode.parentNode;
var table = tr.parentNode;
table.removeChild(tr);
}
</script>
</body>
```
添加注释 public class Demo2 { public static void main(String[] args) { File f1 = new File("/Users/nxy/Desktop/笔记/File"); List<String> list = getFile(new ArrayList<>(),f1); for (String s:list ) { System.out.println(s); } } public static List<String> getFile(List<String> list, File file) { if (file.isFile()) { System.out.println(file.getName()); } else { File[] files = file.listFiles(); for (File f : files ) { getFile(list, f); } } return list; } }
/**
* Demo2类
*/
public class Demo2 {
/**
* 主函数
* @param args 参数列表
*/
public static void main(String[] args) {
// 创建File对象f1表示指定目录
File f1 = new File("/Users/nxy/Desktop/笔记/File");
// 调用getFile方法获取该目录下所有文件的路径
List<String> list = getFile(new ArrayList<>(), f1);
// 遍历输出所有文件的路径
for (String s : list) {
System.out.println(s);
}
}
/**
* 获取指定目录下所有文件的路径
* @param list 存放文件路径的List集合
* @param file 指定目录
* @return 返回所有文件的路径
*/
public static List<String> getFile(List<String> list, File file) {
// 如果file是一个文件,则输出文件名
if (file.isFile()) {
System.out.println(file.getName());
} else {
// 如果file是一个目录,则获取该目录下所有文件
File[] files = file.listFiles();
for (File f : files) {
// 递归调用getFile方法,获取f目录下所有文件的路径
getFile(list, f);
}
}
return list;
}
}
阅读全文