我正在尝试使用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本身。
答案 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
元素中,然后尝试隐藏它