2 回答
TA贡献1863条经验 获得超2个赞
如果您将它挂在文档加载上,这应该可以工作。
const dayRows = document.querySelectorAll('.schedule_day_table tr');
const timeRows = document.querySelectorAll('.schedule_time_table tr');
dayRows.forEach((row, i) => {
//select first cell of the row
let td = row.querySelector('td');
if(td.innerHTML == ".") {
row.parentNode.removeChild(row);
timeRows[i].parentNode.removeChild(timeRows[i]);
}
});
<td>
<table class="schedule_day_table">
<tr>
<td>1.</td>
<td><div>GO TO SCHOOL</div></td>
</tr>
<tr>
<td>.</td>
<td><div></div></td>
</tr>
<tr>
<td>3.</td>
<td><div>READ A BOOK</div></td>
</tr>
</table>
</td>
<td>
<table class="schedule_time_table">
<tr><td>08:30 - 09:15</td></tr>
<tr><td>09:25 - 10:10</td></tr>
<tr><td>11:30 - 12:15</td></tr>
</table>
</td>
TA贡献1812条经验 获得超5个赞
const scheduleDayTableRows = Array.from(document.querySelectorAll(".schedule_day_table tr"));
scheduleDayTableRows.map((row) => {
if (row.querySelector("td").innerHTML === ".") {
row.remove();
}
})
它是如何工作的?
首先,您需要从第一个表中选择所有表行,然后您应该从这些行中迭代并找到第一个嵌套的 td。如果它的innerHTML 等于“。” 您可以使用 row.remove() 删除此行
添加回答
举报