获取Iframe的内部元素

时间:2012-11-29 10:31:42

标签: javascript html

我有一个简单的html页面。它有一个iframe到其他网站。我想更改iframe中的nesteed锚标记的颜色。可以通过javascript

访问Iframe的元素

5 个答案:

答案 0 :(得分:1)

如果其他网页位于其他网域,由于跨域安全性,将无法从主页面编辑iframe的HTML内容。

有解决方法,例如在网址中编写您要进行的更改。但这真的很脏。

如果它在同一个域中,我建议使用,例如:

$('div', $('iframe')[0].contentWindow.document)

获取iframe中的所有div元素

答案 1 :(得分:1)

我是通过使用以下代码

完成的 function loadFrame(){ 的document.getElementById( 'pcl_frame')contentWindow.document.getElementsByTagName( 'A')[0] = .style.color '蓝色'。 }

答案 2 :(得分:0)

你需要JavaScript。它与在父页面中执行的操作相同,除非您必须在JavaScript命令前添加iframe的名称。

请记住,相同的原始政策适用,因此您只能对iframe来自您自己的服务器执行此操作。

frame1.$('mydiv').style.border='1px solid #000000'

frame1.$('mydiv').addClassName('withborder')

答案 3 :(得分:0)

您可以使用

获取iframe中元素的值
 $('#iframeId').contents().find('#id-of-element-inside-iframe');

但价值观无法改变。

答案 4 :(得分:0)

只有一个简单的解决方案,只有当您拥有iframe中的内容时才会有效。

在您的父资源中添加:

<script type="text/javascript">
    var innerDocument = null;
</script>

在iframe中添加:

<script type="text/javascript">
    parent.innerDocument = document;
</script>

当加载iframe时,您现在可以使用innerDocument来定位iframe的文档。 这规避了跨域安全。