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

如何在CSS中通过data-index属性选择第4n个div子元素

解决方案:通过data-index属性选择4的倍数元素并设置蓝色

嘿,这个需求很明确,咱们分两种场景来实现:

1. 已知目标元素的data-index值(比如固定的4、8)

如果你的元素范围就是1-8,或者已经明确知道哪些是4的倍数,直接用CSS属性值选择器就能搞定,完全不用nth-child。代码如下:

/* 精准匹配data-index等于4和8的.box元素 */
.main .box[data-index="4"],
.main .box[data-index="8"] {
  color: blue;
}

这个方法的优势是简单直接,纯CSS实现,没有额外的脚本依赖。

2. 动态匹配所有4的倍数的data-index(比如未来可能出现12、16等)

如果需要自动识别任意4的倍数的data-index值,原生CSS暂时没法直接实现(因为CSS属性选择器只能做字符串匹配,不支持数值运算),这时候可以用JavaScript来处理:

// 获取所有带有data-index属性的.box子元素
const targetBoxes = document.querySelectorAll('.main .box[data-index]');

// 遍历每个元素,检查data-index是否是4的倍数
targetBoxes.forEach(box => {
  const indexNum = parseInt(box.dataset.index, 10);
  // 取余运算判断是否为4的倍数
  if (indexNum % 4 === 0) {
    box.style.color = 'blue';
  }
});

这段代码会自动遍历所有符合条件的元素,计算data-index的数值是否能被4整除,满足条件就设置蓝色。


内容的提问来源于stack exchange,提问作者sourav roy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 13:02:41