我正在尝试获取隐藏跨度的innerHTML。 JavaScript来自iframe HTML页面,隐藏的跨度位于父页面中。当从父母访问列表的内容时,一个不同的功能工作,但我似乎无法达到我的范围......
WORKS
document.getElementById(parent.genL[i]);
DOESNT WORK
document.getElementById(parent."span"+i).innerHTML;
- SyntaxError: missing name after . operator
上面的代码行驻留在for循环中,当它遍历i时,它将从每个单独的span中获取数据。隐藏的跨度从ID“span1”开始,通过10-40k个不同的隐藏跨度。
无论如何,我有一种感觉,它必须做一些尝试连接字符串int i。无论如何我认为我是一个int。有什么想法吗?非常感谢大家!
编辑 - 单词,并将innerHTML部分添加到不起作用的代码行。不确定这是否会有所作为......
Edit2 - 伟大的答案每个人,学习了一些很好的语法技巧:)我只是移动了父母。按照mplungjan的评论和Jacob T. Nielson的回答推荐的代码前面部分。出于某种原因,我仍然使用建议的括号来解决错误,但我肯定会将括号塞进我的记忆中以备将来类似的情况使用!
parent.document.getElementById("span"+i).innerHTML;
:)
答案 0 :(得分:6)
尝试将其更改为索引器。
document.getElementById(parent["span"+i]);
答案 1 :(得分:6)
如果方括号中的parent
是一个对象,并且您尝试访问parent.span1
之类的内容,则需要使用括号表示法而不是点。
document.getElementById(parent["span"+i]);
应该可以正常使用。
答案 2 :(得分:5)
我认为你要做的是在父页面上获取第i个span元素。正确的吗?
你可以这样做
var s = parent.document.getElementsByTagName('span')[i];
s.innerHTML // <-- access innerHTML