尝试使用.contents()
方法在iframe中隐藏div元素,然后从给定的iframe中获取所需的元素并隐藏它,但它无法正常工作。
$(document).ready(function(){
$('#myframe').contents().find('#logo-events').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<iframe id="myframe" src="http://api.jquery.com/contents" border="0" scrolling="yes" frameborder="0" width="100%" style="min-height:600px"></iframe>
答案 0 :(得分:2)
查看您的JavaScript错误控制台!
未捕获的SecurityError:沙箱访问冲突:阻止“
http://api.jquery.com
”的框架访问“null
”的框架。两个框架都是沙盒,缺少“allow-same-origin
”标志。
iframe的内容与您运行JavaScript的页面的来源不同。相同的源策略会阻止您的代码访问数据。 (想象一下,如果这是某人的网上银行网站,你应该能够看到原因)。
如果你控制了另一个网站(因为你(可能)不适用于jQuery,你没有),那么你可以使用postMessage
来触发该网站提供的事件处理程序隐藏。