如何从iframe元素更改元素属性?

时间:2013-09-28 23:50:09

标签: javascript jquery iframe

我正试图从iframe内部设置div的高度。

我有类似

的东西
<div id='test' style='height:150px;'>some stuff..</div>

<iframe id="test" src="http://www.myproject.com frameborder="0" scrolling="no">
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
   <title>test project</title>
   <link rel="stylesheet" type="text/css" href="g_reset.css">
   <script type="text/javascript" src="options.js"></script>
   </head>
   bunch of html...
   <a id='click' href='#'>click<a/>
</iframe>

当我点击iframe内的“点击”时,我希望能够更改'test' div高度。

options.js我有......

$('#click).click(function(){
   alert('pop')
   $('#test').attr('height','500');
})

警报会弹出,但似乎不会更改div的高度。有谁可以帮我解决这个问题?非常感谢!

2 个答案:

答案 0 :(得分:1)

作为jQuery解决方案,您可以在iframe中使用类似的内容。

$('#test', window.parent.document).css('height', '500px');

$(window.parent.document).find('#test').css('height', '500px');

对于第一个示例,$()中的第二个参数是要在其中搜索的上下文。另请注意,我使用的是css()而不是attr(),因为您尝试修改元素的样式而不是属性。

答案 1 :(得分:0)

试试这个:D

<a id='click' href='#' onClick='parent.document.getElementById(\"test\").style.height=\"50px\"'>click<a/>