jQuery .find无法在Safari中工作

时间:2014-02-18 10:21:36

标签: jquery safari

这在Firefox和Chrome中运行良好。但为什么不在Safari?

 $('.bxslider li .image').each(function() {
   $(this).width($(this).find('img').width());
    });

Safari的结果是style="width: 0px; "。 还试过$(文件).ready,没有变化。

感谢您的帮助!

3 个答案:

答案 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。标记。