使用jquery *设置内部iframe内div的宽度,而不在iframe上使用id

时间:2012-03-06 11:01:46

标签: javascript jquery iframe

我有以下代码:

<iframe>
  <div id="inner_div">
    Here's some text!
  </div>
</iframe>

我知道如果我在iframe上有ID,我可以按照here的步骤获取“#inner_div”的访问权限,我可以从那里设置高度/宽度。

我也知道如果我没有父ID,我可以使用here所述的标签选择器。

但第二种方法的问题是当我打电话时

$('iframe')[0]

在我的代码中,它返回一个HTMLIFrameElement,它不是一个jQuery对象(因此我不能使用.find或任何其他jQuery魔法)。我也尝试将其包装在文本中并将其传递给jQuery对象以将其重新解析为DOM元素,但这也不起作用。

那么还有什么方法可以让jQuery在iFrame内部运行吗?

2 个答案:

答案 0 :(得分:2)

$($('iframe')[0])

会将您的第一个iframe转换为jQuery对象。

更多jQuery-ish解决方案

$('iframe').first()

您应该注意(除非您的iFrame加载来自同一域的内容),您很可能遇到跨域策略问题(简而言之,这意味着您将无法访问iFrame的内容)。

答案 1 :(得分:1)

$($('iframe')[0]).contents().find('#inner_div').css("width", "some_value");