【发布时间】:2011-08-18 19:59:13
【问题描述】:
我在网上找不到一种方法来根据 CSS 中的内容隐藏或显示元素。更具体地说,在以下示例中,我正在搜索一个 CSS3 规则,该规则允许我隐藏第二个 <td> 子项包含 File 的所有 <tr> 条目。
<tr>
<td>Succeded</td>
<td>File</td>
<td>Create</td>
<td>Left->Right</td>
<td>\Thunderbird\00sqrcu5.default.archive.7z</td>
</tr>
<tr>
<td>Succeded</td>
<td>Folder</td>
<td>Create</td>
<td>Left->Right</td>
<td>\Thunderbird\mab</td>
</tr>
<tr>
<td>Failed</td>
<td>File</td>
<td>Create</td>
<td>Left->Right</td>
<td>\Thunderbird\mab\abook.mab</td>
</tr>
这甚至可能吗?我知道向<tr> 元素添加属性会更好,但我不确定基于属性的解决方案是否支持复杂规则,例如“第二个孩子不是'文件夹',第一个是'失败'” .
想法?
【问题讨论】:
-
不适用于 CSS 选择器。 XPath,我不确定。
-
我知道这可以用 jQuery 轻松完成。不使用 CSS。
-
基于属性的解决方案?你到底是什么意思?能否将节点的文本添加为属性(例如
<td t="File">)? -
jQuery 解决方案here.
标签: css xpath css-selectors