1

我正在尝试使用包含在另一个框架中的控件来更改一个框架 html 中的元素。但是,我无法做到这一点。

我基本上有这个:

<a href = "#"  id = "c1" onclick = "document.getElementById('text').color =     'red'">red</a>

这是为了改变这一点。

<p id = "text">dsdsdsdsd</p>

但是,我无法弄清楚如何以正确的方式做到这一点。

编辑:

主页面如下所示:

<frameset cols = "15%, *" frameborder="100" border="1" framespacing="1">
<frame src ="bookMenu.html" scrolling = "no"/>
<frameset rows = "*, 10%" frameborder="100" border="1" framespacing="1">
    <frame src ="book1_intro.html" scrolling= "yes" name = "main"/>
    <frame src ="book_controls.html" scrolling= "no" name = "control"/>
</frameset>

调用按钮位于框架命名控件中,目标位于名为 main 的框架中

4

2 回答 2

1

您需要先获取对父级的引用,然后是对包含段落标签的框架的引用,并使用 contentDocument 获取该框架内的文档。

看:

如何从 javascript 访问父 iframe

如何使用 Javascript 访问 iframe 元素?

于 2013-03-03T18:30:53.603 回答
1

如果你真的有s,为(s)中的元素frame设置一个name属性。然后您可以像这样从任何框架(或文档)引用:frameframeset#textframeset

var text = top.window.main.document.getElementById('text');

(i)frame请注意,如果这是本地页面,则在使用 Chrome 时不能引用s。但是,有一个解决方法:添加--allow-file-access-from-files到 Chrome 图标的目标路径,并在打开框架集文件之前通过单击此修改后的图标打开 Chrome。

于 2013-03-03T19:05:40.813 回答