在控制台中工作,但不在.js文件中
我想为我的图像添加宽度和高度属性;我使用的jQuery在控制台中工作,但不在链接的.js文件中。我已经尝试过,并且不起作用。在控制台中工作,但不在.js文件中
$(document).ready(function() {
$('.media-box-image').each(function() {
var $width = $('.media-box-image').width();
var $height = $('.media-box-image').height();
var $this = $(this).find('img');
$this.attr('width', $width);
$this.attr('height', $height);
});
});
我也试过,但它也没有工作
$(document).ready(function() {
$('.media-box-image').each().on('load', function() {
var $width = $('.media-box-image').width();
var $height = $('.media-box-image').height();
var $this = $(this).find('img');
$this.attr('width', $width);
$this.attr('height', $height);
});
});
我检查了控制台,但似乎一切都很好。我还可以做些什么?
我已经回答了我的问题:我做了以下内容和它完美的作品
$(window).load(function() {
// Run code
$('.media-box-image').each(function() {
var $width = $('.media-box-image').width();
var $height = $('.media-box-image').height();
var $this = $(this).find('img');
$this.attr('width', $width);
$this.attr('height', $height);
});
});
你应该在'each'里面使用'$(this)'而不是'$('。media-box-image')''。 – Tushar
@Tushar - 谢谢 –
当在初始页面加载循环中执行文档就绪回调时,页面将不会完成加载图像数据。
由于没有图像数据,图像既没有宽度也没有高度。
使用$(window).on('load'...)
,而不是$(document).ready(...)
非常感谢我在发布问题后不久就意识到这一点。非常感谢您花时间回答。 –
@zzzzBov非常感谢你的回答。已经花了超过5个小时。 –
'ready'当DOM准备将闪光。您需要'window'的'load'事件,以便在所有图像完全加载时触发回调。 – Tushar
document.ready,并不意味着图像被加载。如上所述,您可能想要使用加载。小心分享,小提琴? –