0
<table style="display:none">
    unhidden text
    <tr>
        <td>
            hidden text
        </td>
    </tr>
</table>

尽管应用于整个表格,但只有其中的文本td被隐藏。display: noneunhidden text也可以隐藏吗?

4

3 回答 3

1

<table>节点仅包含特定元素,不包括文本节点。<tr>节点也一样。

html 表格规范显示了这一点。

于 2013-10-17T20:07:23.683 回答
0

您的 HTML 无效。不允许将文本节点作为table元素的直接子节点。

浏览器通常会更正您的 HTML,因此它们会这样解释它:

unhidden text
<table>
  <tbody>
    <tr>
      <td>
        hidden text
      </td>
    </tr>
  </tbody>
</table>

如您所见,unhidden text已移出table.

因此,您应该将“未隐藏文本”放在 之外table,并且,如果您需要样式挂钩等,div请为其使用(或更合适的元素):

<div>unhidden text</div>
<table>
  <tr>
    <td>
      hidden text
    </td>
  </tr>
</table>
于 2013-10-18T07:40:12.743 回答
0

表格样式必须仅适用于可识别表格标签的那些标签...

这里有几个选项.. 使用span标签或div适用于其中所有元素的标签。

<table style="display:none">
  <span style="display:none">unhidden text</span>
  <tr>
    <td>
        hidden text
    </td>
 </tr>
</table>

或者在我看来更好的解决方案。

<div style="display:none">
  <table>
    unhidden text
   <tr>
    <td>
        hidden text
    </td>
  </tr>
 </table>
</div>
于 2013-10-17T20:05:37.470 回答