下面是a.html里的内容
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
<div id="wrap">
<iframe id="aaa" src="b.html" ></iframe>
</div>
<!--w98-->
<script>
$(document).ready(function() {
$('#wrap').contents().find('.bb').html('给我变');
$('#aaa').contents().find('.bb').html('给我变');
$('#wrap').contents().find('#bb').html('给我变');
$('#aaa').contents().find('#bb').html('给我变');
});
</script>
下面是b.html里的内容
<div id="bb" class="bb" >来修改我啊</div>
问题就是我刷新a.html后,显示的文字还是“来修改我啊”,而不是“给我变”
求教这是为什么?
iframe未加载加载完造成,这点你可以在ready的回调里加入
console.log($('#aaa').contents().find('#bb').length) //0
可以看到
解决办法,是注册一个iframe的loaded响应函数,等iframe加载完在改变
$('#aaa').load(function(){
$('#aaa').contents().find('#bb').html('给我变');
})
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。