动态写table时,tr和td消失的问题

本文讲述了作者解决网页table内容错位的bug经历,发现内容缺失是由于<tr>和<td>标签丢失,并揭示了正确和错误的table标签包裹方式。最终,问题在于table标签未能包围嵌套的<tr>和<td>。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天碰到一个table中内容位置不对的bug(不是我写的),熟练地打开F12进行检查,发现原本应该包裹内容的<tr>和<td>标签不见了(下面的<font>外还有一层<tr>和<td>)。

不见了<tr>和<td>导致这些内容不在table内,这使得这部分的内容在页面的位置不对,但是js中确实有写<tr>和<td>(如下图)。

想了一会,突然冒出一个想法,是不是<table>标签没有包裹好,于是检查了一下js的代码,果然<table>标签的包裹有问题,这段<tr>和<td>没有正确的被<table>包裹,修改一下<table>的写入就好了,下面是对于<table>没有正确包裹<tr>和<td>的求证。

先演示正确的情况。

正确的包裹

下面是不正确的情况,提前结束<table>,使得<tr>和<td>在<table>外,然后查看页面。

不正确的包裹

 原来,<tr>和<td>如果不在<table>标签中,前台显示会去除<tr>和<td>标签,脱离了<table>的包裹,<tr>和<td>包裹的内容在页面中的位置自然就不正确。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值