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

通过data属性选中元素的正确遍历语法求助

解决方法

你的问题出在模板字符串的语法错误,错误混合了模板字符串与普通字符串拼接的写法,导致选择器格式失效。

正确代码示例:

var sidebar = [];

for (var i = 1; i <= 6; i++) {
  // 直接在模板字符串中嵌入变量i,保持选择器的完整格式
  sidebar.push(document.querySelector(`[data-language-key='sidebar-${i}']`).innerHTML);
}

语法说明:

模板字符串(用反引号`包裹)支持通过${变量名}的方式直接嵌入变量,无需再用+拼接字符串。修正后会自动生成[data-language-key='sidebar-1']到[data-language-key='sidebar-6']的正确选择器,和你最初单个获取的格式完全一致。

可选优化方案:

如果不确定sidebar的数量,或者想减少DOM查询次数,可以一次性获取所有匹配元素再处理:

// 获取所有data-language-key以sidebar-开头的元素
var sidebarElements = document.querySelectorAll("[data-language-key^='sidebar-']");
// 转换为数组并提取innerHTML
var sidebar = Array.from(sidebarElements).map(el => el.innerHTML);

这种方式更灵活,无需手动设置循环次数,自动适配所有sidebar-X元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:15:32