<div style =“”display =“none”>表内无法正常工作</div>

时间:2013-07-04 03:31:57

标签: html css dom

我正在尝试使用javascript切换div元素的显示,该div元素具有标签和文本框。 这是代码段

<table id="authenticationSetting" style="display: none">
<div id="authenticationOuterIdentityBlock" style="display: none;">
                <tr>

                    <td class="orionSummaryHeader"><orion:message key="policy.wifi.enterprise.authentication.outeridentitity"/>: </td>
                    <td class="orionSummaryColumn">
                        <orion:textbox id="authenticationOuterIdentity" size="30"/>
                    </td>

                </tr>
                </div>

            </table>

然而,在页面加载时,div元素仍然显示,表格元素的显示切换工作正常。 我不知道为什么这不起作用,可能是table元素的样式覆盖了div元素的样式。 附:我仍然可以隐藏div中的元素,但不能隐藏div本身。

2 个答案:

答案 0 :(得分:15)

只需将<div>更改为<tbody>

即可
<table id="authenticationSetting" style="display: none">
  <tbody id="authenticationOuterIdentityBlock" style="display: none;">
    <tr>
      <td class="orionSummaryHeader">
        <orion:message key="policy.wifi.enterprise.authentication.outeridentitity" />:</td>
      <td class="orionSummaryColumn">
        <orion:textbox id="authenticationOuterIdentity" size="30" />
      </td>
    </tr>
  </tbody>
</table>

答案 1 :(得分:4)

从语义上讲,您尝试的是无效的html,table元素不能将div元素作为直接子元素。您可以做的是,将div元素放在td元素中,然后尝试隐藏它