JavaScript中使用变量访问表单子节点的语法问题求助
解决方案:动态访问对象属性的方括号语法
你遇到的问题是因为JavaScript的点表示法仅支持固定属性名,当属性名是变量时,必须改用方括号表示法。
正确写法
把你的代码修改为:
var childNode = Form1.parentSection1[currentParent[i]].nodes;
原因说明
- 点表示法(如
Form1.parentSection1.childSection1)要求属性名是明确的字面量,无法识别变量或表达式。 - 方括号表示法允许传入变量(
currentParent[i]会被计算为对应的子节点名称字符串),JavaScript会用这个计算值去对象上匹配对应的属性。
完整循环示例
结合你的场景,完整可运行的代码示例如下:
// 存储子节点名称的数组 const currentParent = ['childSection1', 'childSection2', 'childSection3']; // 循环遍历数组处理子节点 for (let i = 0; i < currentParent.length; i++) { // 动态获取对应子节点的nodes属性 const childNode = Form1.parentSection1[currentParent[i]].nodes; // 这里可添加业务处理逻辑 console.log(`处理子节点 ${currentParent[i]}:`, childNode); }
内容的提问来源于stack exchange,提问作者meee
相关产品推荐
相关产品推荐

