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

如何用JS选中aria-label为Chart的容器内带aria-labelledby属性的元素

实现方法

可以实现,直接使用组合属性选择器即可一步完成匹配,比你当前的遍历写法更简洁、稳定性更高。

你当前的写法依赖固定的DOM层级关系(nextSibling、childNodes[0]),只要DOM结构稍有调整就会失效,不推荐使用。

最优实现代码

// 直接获取aria-label="Chart"容器下所有带aria-labelledby属性的后代元素
const matchedEls = document.querySelectorAll('[aria-label="Chart"] [aria-labelledby]');

// 直接遍历使用即可,不需要额外判断属性
matchedEls.forEach(el => {
  console.log(el);
  // 此处可添加你的业务逻辑
});

规则说明

  • 选择器中[aria-label="Chart"]负责定位外层容器,限定匹配范围
  • 两个选择器中间的空格代表匹配外层容器的所有后代元素
  • 末尾的[aria-labelledby]负责筛选出带有对应属性的元素
    如果只需要匹配容器的直接子元素,可以把空格替换为>,选择器写为[aria-label="Chart"] > [aria-labelledby]即可

内容的提问来源于stack exchange,提问作者Sara Ree

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:36:01