2012-04-05 32 views
0

爲腳本我在我工作的一部分,有以下幾點:

loop 
if($(element).find(selector)) 
{ do stuff } 
else 
{ do other stuff } 
/loop 

的想法是,有兩個這些元素的版本變得越來越流行,我需要區分它們(基於內容)以確定採取哪些操作。

如果找到成功,這很好用。如果不是,那麼該腳本有一個致命錯誤。

我找不到任何有關查找失敗時會發生什麼的文檔。我如何完成這項工作?

+0

'find'的空結果不應該破壞你的代碼。你可以檢查Firebug或Webkit控制檯,並提供一個異常和線上的代碼拋出它? – rjz 2012-04-05 04:04:48

+0

你可以發佈你使用的真實代碼嗎? – 2012-04-05 04:04:57

+0

我從來沒有從螢火蟲中得到一個錯誤陳述,但顯然它在嘗試使用由選擇器定義的元素時進入if和then錯誤。 – baiano 2012-04-05 05:09:54

回答

1

這個怎麼樣?

if($(element).find(selector).length > 0) 
{ do stuff } 

它有點長,但應該工作。

在我看來你的原始發現測試總是評估爲真。測試長度會得到一個布爾結果來評估。

+0

已驗證身在[jsfiddle](http://jsfiddle.net/FbKZe/) – 2012-04-05 04:09:04

+0

哦!但你可以保存***一個字符!!! ***:P'(!$(「#first」)。find(「img」)。length)'並且顛倒這些東西 – rlemon 2012-04-05 04:19:29

+0

我會保留我的角色和從我得到的清晰度:) – 2012-04-05 04:20:52

相關問題