我有以下代码:
<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内部运行吗?
答案 0 :(得分:2)
$($('iframe')[0])
会将您的第一个iframe转换为jQuery对象。
更多jQuery-ish解决方案
$('iframe').first()
您应该注意(除非您的iFrame加载来自同一域的内容),您很可能遇到跨域策略问题(简而言之,这意味着您将无法访问iFrame的内容)。
答案 1 :(得分:1)
$($('iframe')[0]).contents().find('#inner_div').css("width", "some_value");