在Firefox和Chrome中可以正常工作。但为什么不在Safari?jQuery .find在Safari中不工作
$('.bxslider li .image').each(function() {
$(this).width($(this).find('img').width());
});
Safari中的结果是style="width: 0px; "
。 也试过$(document).ready,没有改变。
感谢您的帮助!
在Firefox和Chrome中可以正常工作。但为什么不在Safari?jQuery .find在Safari中不工作
$('.bxslider li .image').each(function() {
$(this).width($(this).find('img').width());
});
Safari中的结果是style="width: 0px; "
。 也试过$(document).ready,没有改变。
感谢您的帮助!
正如已经建议使用window.load()
处理所有的图像加载后运行代码。
或者使用
jQuery(function ($) {
$('.bxslider li .image img').load(function() {
$(this).closest('.image').width(this.width)
}).filter(function() {
return this.complete;
}).trigger('load')
})
谢谢你的工作! –
尝试将代码放入$(window).load(function() { })
以确保在更改宽度之前正确加载所有图像。
$(window).load(function() {
$('.bxslider li .image').each(function() {
$(this).width($(this).find('img').width());
});
});
我以前试过,它没有工作。无论如何,感谢您的帮助! –
,而不是发现你也可以使用 “>” - 运营商。 例如: -
$('.bxslider li .image').each(function() {
$(this).width($(this+'> img').width());
});
您也可以使用该运营商在CSS: 例如为:
body > h1
匹配身体标记内的所有H1标签。
图像可能未加载 –
尝试此代码内$(窗口).load() –