Html 如何隐藏div下的所有表,除了那些td title等于特定值的表之外

Html 如何隐藏div下的所有表,除了那些td title等于特定值的表之外,html,css,Html,Css,我的SharePoint网页中有以下代码,它主要包含一个div和5个表(表的数量将来可以增加或减少) 所以我想隐藏所有表,除了第一个TR中有第三个TD tile的表等于“Pages”之外? 目前,我编写了以下代码来隐藏除第三个表之外的所有表,但由于表的数量可能会发生变化,因此这将中断,因此我希望通过使用标题使CSS更具动态性 #ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView > table:not(:nth-child(3)) { di

我的SharePoint网页中有以下代码,它主要包含一个div和5个表(表的数量将来可以增加或减少)

所以我想隐藏所有表,除了第一个TR中有第三个TD tile的表等于“Pages”之外? 目前,我编写了以下代码来隐藏除第三个表之外的所有表,但由于表的数量可能会发生变化,因此这将中断,因此我希望通过使用标题使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则更加冗长。

我认为这应该可以<代码>$('table').not('td[title=“Pages”]”)。hide()?我现在无法测试,但您可以看到这个想法。因此,您的代码将隐藏所有表,而不仅仅是所需Div中的表?在第一行添加了父Div选择器。显然,这是你的决定(在你的例子中没有其他表)。