2011-03-10 35 views
0

在jQuery的,是有必要檢查變量包含的東西或jQuery的本身做它...讓我用一個例子解釋:jquery:在應用效果之前驗證元素是否爲空...是否有必要?

var image = $(placeholder).children('img'); 


// if placeholder contains image, hide it! 
if (image.length) { 
    alert('found one, hide it!'); 
    $(image).fadeOut(400); 
} 

... more code here... 

我已經意識到,只是寫了以下的工作原理相同...

var image = $(placeholder).children('img'); 
$(image).fadeOut(400); 

我的意思是,先做一個檢查或讓jquery處理它是好的做法嗎?

回答

2

糾正我,如果我錯 - 當你做$(image).fadeOut(400),該​​功能實際上是運行鍼對由$(image)返回的所有元素(注意:$(image)回報元素的數組)。因此,如果$(image)返回空數組,那麼fadeOut(400)將針對0元素運行,所以什麼都不會發生。

要回答你的問題,不需要你有if()來檢查長度,jQuery會爲你做。在我看來,檢查長度只是多餘的,會損害性能,所以我不會說這是一個好習慣。

相關問題