8

我正在尝试获取隐藏跨度的 innerHTML。JavaScript 来自 iframe HTML 页面,隐藏的 span 位于父页面中。从父级访问列表的内容时,一个不同的功能起作用,但我似乎无法达到我的跨度......

作品

document.getElementById(parent.genL[i]);

不工作

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;

:)

4

3 回答 3

6

尝试将其更改为索引器。

document.getElementById(parent["span"+i]);
于 2013-04-19T14:34:29.200 回答
6

如果parent括号中的 是一个对象,并且您试图访问类似的东西,parent.span1那么您需要使用括号表示法而不是点。

document.getElementById(parent["span"+i]);应该可以正常工作。

于 2013-04-19T14:34:44.233 回答
5

我认为您要做的是在父页面上获取第 i 个 span 元素。正确的?

你可以这样做

var s = parent.document.getElementsByTagName('span')[i];
s.innerHTML // <-- access innerHTML
于 2013-04-19T14:49:25.187 回答