1

我试图在表格中放置一个 div,但是它不会跨越多行。

这是我正在使用的代码:

<table>
    <tr>
        <td><div id="test"></td>
    </tr>
    <tr>
       <td>row 2 stuff</td></td>
    </div>
</table>

我有多个在按钮单击时动态添加的行。我希望每组动态添加的行都在一个 div 内,以便于删除。

问题是 FireFox 会自动关闭同一单元格中的 div 标签。最后,它正在将我的关闭移动到第一个单元格的末尾。

4

4 回答 4

2

最新打开的标签应首先关闭以获得完美的结果。你的代码应该看起来像这样:

<table>
    <tr>
        <td><div id="test"></div></td>
    </tr>
    <tr>
       <td>row 2 stuff</td>
    </tr>
</table>
于 2012-06-10T20:03:20.133 回答
1

您不能<div>像这样在表格元素周围包裹标签。如果您想保留对每一行的简单引用,请考虑保留对所有新添加行的引用,或者向它们添加一个类以供以后访问。

于 2012-06-10T19:44:04.137 回答
1

从您嵌套不当的意义上说,您的标记不遵守 html 标准。如果要添加一行,请使用以下格式

<table>
    <div id="test">
    <tr>
        <td></td>
    </tr>
    <tr>
       <td>row 2 stuff</td></td>
    </tr>
    </div>
</table>

如果您注意到,我将两行分组在一个 div 中。当您在表格中嵌套一个 div 时,即使这样做也是不明智的。一个更方便的解决方案是将一个类分配给您想要组合在一起的 div,如下所示:

<table>
    <tr class="test">
        <td></td>
    </tr>
    <tr class="test">
       <td>row 2 stuff</td></td>
    </tr>
</table>

在这里,我想组合在一起的行被分配了一个公共类。因此,如果我要使用 Jquery 来选择它们,我会这样做:

$("tr.test")

希望有帮助!

于 2012-06-11T02:18:38.613 回答
0

Html 标签必须严格位于另一个标签内。因此,不允许使用以下标记:

<b>this <i>is a</b> test</i>

您的标记违反了相同的规则。

于 2012-06-10T19:54:10.543 回答