2014-02-18 69 views
1

在Firefox和Chrome中可以正常工作。但爲什麼不在Safari?jQuery .find在Safari中不工作

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

Safari中的結果是style="width: 0px; "。 也試過$(document).ready,沒有改變。

感謝您的幫助!

+0

圖像可能未加載 –

+0

嘗試此代碼內$(窗口).load() –

回答

2

正如已經建議使用window.load()處理所有的圖像加載後運行代碼。

或者使用

jQuery(function ($) { 
    $('.bxslider li .image img').load(function() { 
     $(this).closest('.image').width(this.width) 
    }).filter(function() { 
     return this.complete; 
    }).trigger('load') 
}) 
+0

謝謝你的工作! –

1

嘗試將代碼放入$(window).load(function() { })以確保在更改寬度之前正確加載所有圖像。

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

我以前試過,它沒有工作。無論如何,感謝您的幫助! –

1

,而不是發現你也可以使用 「>」 - 運營商。 例如: -

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

您也可以使用該運營商在CSS: 例如爲:

body > h1 

匹配身體標記內的所有H1標籤。