首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏所有TD的div.class子级,然后显示第一个div.class子

隐藏所有TD的div.class子级,然后显示第一个div.class子
EN

Stack Overflow用户
提问于 2011-01-07 18:27:55
回答 2查看 2.6K关注 0票数 0

据我所知,以下几点在理论上应该有效,但不是:

代码语言:javascript
复制
td small.attachments {
  display: none;
}
td small.attachments:first-child {
  display: inline-block !important;
}
代码语言:javascript
复制
<table>
  <tr>
    <td class="views-field-field-entry-images-fid">
      <a href="#"><img src="x.jpg" /></a>
      <small class="attachments">Files<div class="file-listing">Content A + B</div></small>
      <small class="attachments">Files<div class="file-listing">Content B</div></small>
      <small class="links">Links<div class="file-listing">Content C</div></small>
    </td>
  </tr>
</table>

结果是,每当small.attachments元素没有small.attachment兄弟节点时,就会显示得很好,并应用了第一个子规则并覆盖显示:无规则。

但是,当TD中有两个small.attachments元素时,一个接一个(例如上面的例子),都是隐藏的,并且第一个子规则没有任何影响。

到底怎么回事?

PS:我在Safari和Firefox中进行了测试。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-07 21:02:39

所以我似乎误解了“第一个孩子”财产的意图。

作为符合IE的修补程序,我使用jQuery在每个<td>的基础上将<small>元素包装在<div>中。

然后,这些规则按照预期并按照规范工作。

代码语言:javascript
复制
<script type="text/javascript">

  $("td.views-field-field-entry-images-fid").each(function() {

    $(this).children("small").wrapAll("<div class='attachments-wrapper'></div>");

  });

</script>

谢谢你的提神!

票数 0
EN

Stack Overflow用户

发布于 2011-01-07 18:43:56

不想这么说,但是“它对我有用”,请参见下面的JSBin示例:

http://jsbin.com/ovuro4/ ( http://jsbin.com/ovuro4/edit )

更新版本:http://jsbin.com/ovuro4/3/edit基于您的反馈下面。

我从您的文章中了解到的结果是,在这种情况下,"Files“-> "Content A+ B”应该是可见的,而"Files“-> "Content B”则不应该可见。在Safari和FF中,我就是这样发现的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4628929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档