DIV和表 - 多行

时间:2012-06-10 19:42:04

标签: javascript html css html-table

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

以下是我正在使用的代码:

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

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

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

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

您不能将<div>标记包装在表格元素周围。如果您希望对每一行保持简单引用,请考虑保留对所有新添加的行的引用,或者为它们添加一个类以供以后访问。

答案 2 :(得分: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")

希望有所帮助!

答案 3 :(得分:0)

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

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

你的标记违反了同样的规则。