JavaScript错误,之后缺少名称。操作者

时间:2013-04-19 14:32:53

标签: javascript

我正在尝试获取隐藏跨度的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;

:)

3 个答案:

答案 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