14

我正在尝试使用 javascript 切换具有标签和文本框的 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 元素仍然显示,表格元素的显示切换工作正常。我不知道为什么这不起作用,可能是表格元素的样式覆盖了 div 元素的样式。PS 我仍然可以隐藏 div 内的元素,但不能隐藏 div 本身。

4

2 回答 2

21

只需更改<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>
于 2013-07-04T03:38:51.150 回答
5

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

于 2013-07-04T03:34:43.350 回答