例如,我有类似的东西:
<div data-url="http://google.com">
<iframe src=""></iframe>
</div>
<div data-url="http://facebook.com">
<iframe src=""></iframe>
</div>
<div data-url="http://youtube.com">
<iframe src=""></iframe>
</div>
<script>
$('div iframe').attr('src',$(this).parent().attr('data-url'));
</script>
我想使用jQuery延迟加载iframe。我想将iframe的“src”设置为与其父级的“data-url”相同。我怎么能这样做?
或者,有没有其他方法可以延迟加载iframe,直到其他所有内容都加载?
答案 0 :(得分:1)
在您的代码this
中实际上是窗口对象。您希望将此代码包装在each
方法中。 (另外,注意这段代码不会两次调用$(this))
$('div iframe').each(function(ev){
var elem = $(this);
elem.attr('src', elem.parent().data('url'));
});
答案 1 :(得分:0)
以下是将数据网址添加到src的方法:
$('div').each(function(){
$(this).children('iframe').attr('src',$(this).attr('data-url'));
});