为什么第二张表不可见?

时间:2012-12-15 12:26:07

标签: javascript jquery

我在这样的页面中有两个表:

<table style="width:800px">
    <tr>
        <td style="width:400px;">
            <table id="currencies"
                style="border-spacing: 5px; padding: 3px; margin: 2px" />
        </td>
        <td style="width:400px;">
            <table id="changers"
                style="border-spacing: 5px; padding: 3px; margin: 2px" />
        </td>
    </tr>
</table>

我使用jqgrid来扩展它们。一个是主表,另一个是细节。但问题是第二个表(id =“changers”)没有显示在页面中。我从浏览器中检查了javascript,它在表行中只有一个<td>元素。如果我把它们放在像这样的单独的表中,这个问题就消失了:

<table id="currencies"
                style="border-spacing: 5px; padding: 3px; margin: 2px" />
<table id="changers"
                style="border-spacing: 5px; padding: 3px; margin: 2px" />

我完全坚持这一点。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

您的两个嵌套table标记未关闭。 <tag/>表单<tag></tag>的简写形式,它纯粹用于像<{1}}这样的 void elements 标记内容(以及外来元素the spec中的详细信息),你只需要XHTML中的solidus(<br/>)(除非你有一个非常特别需要使用它,XHTML充满了危险和误解。)

使用/而不是<table ...></table>明确关闭表:

<table .../>

答案 1 :(得分:1)

您应该向表格添加结束标记。而不是这个

<table />

这样做

<table> </table>

整个代码:

<table style="width:800px">
    <tr>
        <td style="width:400px;">
            <table id="currencies"
            style="border-spacing: 5px; padding: 3px; margin: 2px" ></table>
        </td>
        <td style="width:400px;">
            <table id="changers"
            style="border-spacing: 5px; padding: 3px; margin: 2px" ></table>
        </td>
    </tr>
</table>​