javascript - 无法删除带有索引的表内的 tr 元素
问题描述
我正在尝试创建一个表格,在其中输入来自对象的元素。可以在页面上呈现的元素数量有限。因此,为了查看更多内容,您将单击下一个/上一个,以查看其他“页面”。
问题是,我想删除不显示的索引。
底部的逻辑是我设置最小和最大索引并查看不同的页面,我会将这些数字增加 10(以在页面上获得 10 个结果)但是当我单击下一步按钮时,我想删除 0 - 10 和只有 10 - 20,但 table.deleteRow(index) 什么都不做。(但 table.deteteRow(1) 确实有效)
function fill(){
prices.forEach((element,index) =>{
const table = document.querySelector("table");
const tr = document.createElement("tr");
tableItems.appendChild(tr);
if(index >= min && index < max){
const type = document.createElement("td");
const name = document.createElement("td");
const hours = document.createElement("td");
const photos = document.createElement("td");
const place = document.createElement("td");
const price = document.createElement("td");
type.innerHTML = element.type;
name.innerHTML = element.name;
hours.innerHTML = element.hours;
photos.innerHTML = element.photos;
place.innerHTML = element.place;
price.innerHTML = element.price;
tr.appendChild(type);
tr.appendChild(name);
tr.appendChild(hours);
tr.appendChild(photos);
tr.appendChild(place);
tr.appendChild(price);
}
if(index > max){
table.deleteRow(index);
}
//
});
}
buttonRight.addEventListener("click",()=>{
min = max;
max = max + 10;
fill();
});
buttonLeft.addEventListener("click",()=>{
max = min;
min = min -10;
fill();
});
解决方案
始终您应该删除索引为 0-9 的行并且您不应该更改索引号,因为您的表中始终有 10 行。似乎当您单击下一步按钮时,简单的方法是在调用填充函数之前从表中删除所有 tr 。
推荐阅读
- google-apps-script - Submit form data in google sheet in descending order
- react-native - Using ThrottleTime with value 60000 is throwing a warning, should this be of concern?
- node.js - 5秒未加载,heroku node.js app加载缓慢
- tensorflow - seq2seq 模型的预处理
- mysql - Mysql选择查询工作但在更新查询时出错
- ruby-on-rails - 如何将多个模型发送到一个表单以进行 has_many / belongs_to 关联?
- sql - PIVOT 动态地将行旋转到列中
- javascript - url 在谷歌浏览器上不起作用
- go - 使用存储在 Golang 中自己的数据库中的用户创建 Google 身份验证服务
- c# - 更改线程优先级不会影响流的顺序