$("." + i).append(td)会追加到上次调用的表格中,怎么解决
时间: 2024-09-10 11:09:58 浏览: 14
当你使用`$("." + i).append(td)`这行代码时,它会在当前的HTML中找到并添加元素到匹配`.i`类的最后一个元素之后。如果你希望每次循环都追加到一个新的表格单元格(td)里,并且这个td需要单独创建,那么你需要调整代码结构。
首先,你需要确保每次循环时创建一个新的`<td>`元素,而不是复用上一次的结果。可以这样做:
```javascript
for (let i = 0; i < data.length; i++) {
let td = $("<td></td>"); // 创建新的table数据单元格
td.text(data[i]); // 或者设置其他属性如innerHTML
// 创建一个新的表格行
let tr = $("<tr></tr>");
tr.append(td); // 将td追加到新行中
// 然后将新行追加到相应的表格中
$("#" + iTableId).append(tr); // 替换 " ." + i 为实际的ID或者类名
}
```
这样,每次循环都会创建一个新的`<tr>`和`<td>`,并且它们会被添加到对应的表格(id为`iTableId`)的新位置。
相关问题
list.forEach(val => { let $tr1 = $('<tr></tr>') $tr1.append($('<td>' + val.user.name + '</td>')); $tr1.append($('<td>' + val.user.phone + '</td>')); $tr1.append($('<td>' + val.pet.name + '</td>')); $tr1.append($('<td>' + val.pet.age + '岁</td>')); $tr1.append($('<td>' + val.application.date + '</td>')); $tr1.append($('<td>' + val.application.time + '</td>')); if (val.application.state == 0) { $tr1.append($('<td>未审核</td>')); $tr1.append($('<td> <button class="btn btn-success" onclick="handleApplication('+ val.application.id +')">通过</button></td>')); } else if (val.application.state == 1) { $tr1.append($('<td>已审核,等待提交订单</td>')); $tr1.append($('<td> <button class="btn btn-success disabled">通过</button></td>')); } else if(val.application.state == 2){ $tr1.append($('<td>已提交订单</td>')); $tr1.append($('<td> <button class="btn btn-success disabled">通过</button></td>')); } $tableBody.append($tr1); })
这段代码使用forEach循环遍历一个列表,并根据列表中每个元素的不同属性值动态创建HTML元素,并将它们添加到一个表格中。
在循环中,首先创建一个包含每个属性值的HTML元素,并将它们添加到一个包含每个表格行的tr元素中。然后,根据`val.application.state`的值,在最后两列中添加不同的按钮和文本。
这段代码的目的是根据列表中的每个元素动态生成表格行,并根据特定条件添加不同的按钮和文本。
需要注意的是,这段代码是使用jQuery来创建和操作DOM元素的。确保你在程序中引入了jQuery库,并在代码中使用了正确的选择器和方法。
将文件append.txt追加到归档文件file.tar文件中
可以使用以下命令将文件append.txt追加到归档文件file.tar中:
```
tar -rvf file.tar append.txt
```
其中,参数-r表示追加操作,-v表示显示详细信息,-f表示指定归档文件名。注意,如果归档文件不存在,则会创建一个新的归档文件。如果要压缩归档文件,可以在命令中添加参数-z,如下所示:
```
tar -rvzf file.tar.gz append.txt
```
其中,参数-z表示使用gzip压缩,将归档文件压缩成file.tar.gz。