2011-06-08 49 views
1

由於joomla「in-content javascript」的一些問題我必須將我的所有js邏輯提供給一個文件,但是存在整個我的站點中dom元素不一致的問題(它是ajax驅動,所以只有一個腳本和各種DOM)。 是什麼力量讓一些條件語句解決這個問題的最佳解決方案..JavaScript中的條件基於當前顯示的頁面

是否檢查$(selector).length,或者是有沒有更好的解決辦法..

而在$(selector).length的情況下,有沒有辦法救這個選擇變量(性能問題) 例如某種

var selector = ($(selector).length !== 0) ? this : false ; 
if(selector) { makeSomething; } 

的這實際上是指向窗口object..So有沒有什麼辦法讓它像這樣無需重選的?

感謝

+0

什麼是'makeSomething'? jQuery是寬容的,不會對不匹配任何東西的選擇器起作用,比如'$('blahblah')。addClass('test')。animate()'不會產生錯誤,所以沒有必要繼續檢查因爲如果元素存在。 – 2011-06-08 07:49:58

回答

0
var $obj = $('selector'); 
if ($obj.length) { makeSomething(); } 

其實,如果你正在尋找一個特定元素的存在(即可以識別一整頁),並運行基於幾個操作,這是唯一有意義的。

如果你只想做上的元素像

$('selector').append('x'); 

的條件可能是沒用的,因爲如果jQuery集合是空的,該方法將不會反正運行(如指出@加里綠色)。

相關問題