jq的content()方法获取iframe里的内容,语法都对,但是就是没效果

下面是a.html里的内容
下面是b.html里的内容
来修改我啊
问题就是我刷新a.html后,显示的文字还是“来修改我啊”,而不是“给我变”
求教这是为什么?
慕容3067478
浏览 349回答 2
2回答

慕无忌1623718

确实如楼上所说是iframe未加载加载完造成,这点你可以在ready的回调里加入console.log($('#aaa').contents().find('#bb').length)//0可以看到解决办法,是注册一个iframe的loaded响应函数,等iframe加载完在改变$('#aaa').load(function(){$('#aaa').contents().find('#bb').html('给我变');})还有问题,可以留言

波斯汪

在jQuery中,$(document).ready()意思是页面结构加载完成之后就开始执行,并不是在页面元素加载完成才执行的,这点要与原生js中的onload函数区分开,所以你iframe里的内容还没有加载出来之后,js就已经运行了,当然不会有显示了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript