我已经查看并测试了如何从父级处理iframe内容的示例。但是在尝试它为我自己,我不能得到它的工作 - 无论是在我的测试环境(这是所有在同一个域和URL),也不对的jsfiddle:使用jquery更改iframe的css不工作(相同的域)
http://fiddle.jshell.net/3x6mncxf/
我到底做错了什么?
我已经查看并测试了如何从父级处理iframe内容的示例。但是在尝试它为我自己,我不能得到它的工作 - 无论是在我的测试环境(这是所有在同一个域和URL),也不对的jsfiddle:使用jquery更改iframe的css不工作(相同的域)
http://fiddle.jshell.net/3x6mncxf/
我到底做错了什么?
基于你的jsfiddle,你应该使用ready()而不是load(),它已经从JQuery v1.8开始被弃用了。此代码应该工作:
$('iframe#frame').load(function() {
$('iframe#frame').contents().find("head").append($("<style type='text/css'> body{display:none;} </style>"));
});
或者,如果您希望只隐藏一个元素,则始终可以使用css()。
$('iframe#frame').contents().find("body").css("display","none");
基于从http://api.jquery.com/load-event/
建议尝试
$('iframe#frame').ready(function() { $('iframe#frame').contents().find("head").append($("<style type='text/css'> body{display:none;} </style>"));});
它的正常工作使用 “准备”,而不是 “负担”。除了几分钟之外,我可以看到iframe的内容
您只需更改代码即可。 而是负载()方法使用现成()方法
$('iframe#frame').ready(function() {
$('iframe#frame').contents().find("head").append($("<style type='text/css'> body{display:none;} </style>"));
});
我叉你的的jsfiddle你可以看到演示here
你的代码是好的,你拨弄变“框架和扩展”从'onLoad'选项到'onDomReady'请参阅更新的小提琴http://fiddle.jshell.net/3x6mncxf/4/ – 2014-10-10 20:12:21