0

我想我在我支持的代码中发现了一些拼写错误,并将其作为无效代码的一个有趣示例发布到本地站点,然后有人说有时这种无效用法是正确的。

为什么有人可能需要此代码?

<table>
    <form>
        <tr>
            <td></td>
        </tr>
    </form>
    <form>
        <tr>
            <td></td>
        </tr>
    </form>
</table>

什么时候能比下面的更好?

<table>
    <tr>
        <td>
            <form></form>
        </td>
    </tr>
    <tr>
        <td>
            <form></form>
        </td>
    </tr>
</table>

或这个:

<form>
    <table>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
    </table>
</form>
<form>
    <table>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
    </table>
</form>

玩过 JSFiddle并且找不到 HTML 决定,所以也许这是一个原因。

但我认为 JavaScript 或 CSS 方式会更好。

4

2 回答 2

6

然后有人告诉我,有时这种无效的用法是正确的。

根据定义,无效代码是不正确的。

你能解释一下为什么有人可能需要这个代码吗?

每行一个单元格?甚至没有半点好的理由。首先不应该有一个表格,因为它不是表格数据。

如果每行有多个单元格,那么每行能够有一个表单会很好(对于“编辑此条目”的事情)。但这不是必需的,因为您可以为每个输入指定一个唯一的名称,然后根据单击的提交按钮确定要处理的行(因为只有单击的提交按钮才会成功,因此会提交其名称/值对到服务器)。

于 2011-04-18T19:25:27.217 回答
5

这是一种使用基于表格的 UI 对齐方式让两个表单元素相互对齐的方法。在浏览器广泛支持 CSS 之前,它曾经很常见。

今天可以用你喜欢的标记在 CSS 中做到这一点。

于 2011-04-18T19:24:17.830 回答