You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何选中页面中所有wp-block-column类元素,排除第一个并设置隐藏?

问题

需要实现:将页面中所有class为wp-block-column的<div>设置为display:none;,但保留第一个实例。

当前使用的CSS选择器div.seventy-thirty-block:not(:nth-child(2)) .wp-block-column .menu-column存在局限性——它依赖父元素的子元素位置来匹配,一旦在.singleBlogContent内添加额外的.callout-full-block这类元素,选择器就会失效。

页面HTML结构包含多个循环生成的.seventy-thirty-block块,每个块内都有.wp-block-column元素;期望最终效果为:仅第一个.wp-block-column(对应menu)显示,其余同类元素(对应content)全部隐藏。

解决方案

使用全局范围的选择器来匹配除第一个外的所有.wp-block-column元素,无需依赖父元素结构,以下两种方法均可实现需求:

方法1:利用:not(:first-of-type)排除第一个实例

.wp-block-column:not(:first-of-type) {
  display: none;
}

方法2:利用:nth-of-type(n+2)直接选中第2个及以后的实例

.wp-block-column:nth-of-type(n+2) {
  display: none;
}

原理说明

  • 这两个选择器均在全局文档范围内匹配.wp-block-column元素,不受父元素的结构变化(比如新增.callout-full-block)影响。
  • :first-of-type会匹配文档中第一个出现的.wp-block-column元素,:not()伪类则排除它,选中剩余所有同类元素。
  • :nth-of-type(n+2)直接从第2个元素开始匹配所有后续的.wp-block-column,效果与前者完全一致。

验证示例

假设包含额外元素的HTML结构如下:

<div class="singleBlogContent">
  <div class="callout-full-block">...</div>
  <div class="seventy-thirty-block">
    <div class="wp-block-column">menu(保留显示)</div>
  </div>
  <div class="seventy-thirty-block">
    <div class="wp-block-column">content(隐藏)</div>
  </div>
  <div class="seventy-thirty-block">
    <div class="wp-block-column">content(隐藏)</div>
  </div>
</div>

应用上述任意一种CSS后,仅第一个.wp-block-column会显示,其余全部被隐藏,完全符合需求。

内容的提问来源于stack exchange,提问作者The Sendicate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 02:01:14