html - 如何隐藏 div 下的所有表,除了其 td 标题等于特定值的表

标签 html css

我的SharePoint网页里面有如下代码,里面主要有一个div和里面的5个表格(表格数量以后可以增减)。

enter image description here

所以我想隐藏所有表格,但第一个 TR 中的第三个 TD 磁贴等于“页面”的表格除外? 目前我写了下面的代码来隐藏除第三个表之外的所有表,但是由于表的数量可能会改变所以这会中断,所以我想通过使用标题使我的 CSS 更加动态?

#ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView > table:not(:nth-child(3)) {
    display: none;
} 

谁能给个建议?

最佳答案

这对于 CSS 目前是不可能的,因为您想要选择一个特定的元素,在本例中为 a,然后将 CSS 规则实际应用到其父元素之一。 CSS 可以(现在)仅将规则应用于实际选定的元素。

您需要 Javascript 来解决这个问题。例如,在 MooTools 中,这是可行的:

$$('div.thatYouAreTargeting table').each(function(t) {
  if(t.getElement('a[title=Pages]'))
    t.setStyle('display', 'none');
});

使用 jQuery 它同样简单,使用原生 Javascript 则稍微冗长一些。

关于html - 如何隐藏 div 下的所有表,除了其 td 标题等于特定值的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676272/

相关文章:

jquery - div 作为元素上的按钮

javascript - 在后台打开一个弹出窗口?

jquery - 一次显示/隐藏多个 div 的按钮

html - CSS布局两列,第二列缩进

javascript - 滚动下拉菜单滚动太多

html - 与边距和 img 大小相关的 Firefox 特定 CSS 错误

javascript - 使用 SelectAll 函数的复选框样式

html - Div 填充可用空间的 100% 高度

html - Bootstrap 4 : Inline-forms button height

html - 水平滚动div,里面有多个div