今天碰到一个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>包裹的内容在页面中的位置自然就不正确。