这在Firefox和Chrome中运行良好。但为什么不在Safari?
$('.bxslider li .image').each(function() {
$(this).width($(this).find('img').width());
});
Safari的结果是style="width: 0px; "
。
还试过$(文件).ready,没有变化。
感谢您的帮助!
答案 0 :(得分:2)
正如已经建议的那样,使用window.load()
处理程序在加载所有图像后运行代码。
或使用
jQuery(function ($) {
$('.bxslider li .image img').load(function () {
$(this).closest('.image').width(this.width)
}).filter(function () {
return this.complete;
}).trigger('load')
})
答案 1 :(得分:1)
尝试将代码放在$(window).load(function() { })
中,以确保在更改宽度之前正确加载所有图像。
$(window).load(function() {
$('.bxslider li .image').each(function() {
$(this).width($(this).find('img').width());
});
});
答案 2 :(得分:1)
而不是找到你也可以使用">" -operator。 E.g:
$('.bxslider li .image').each(function() {
$(this).width($(this+'> img').width());
});
您也可以在CSS中使用此运算符: E.g:
body > h1
匹配正文中的所有h1-Tags。标记。