我有一個函數,我希望能夠允許傳遞一個常規的javascript DOM元素對象或jQuery對象。如果它還不是一個jQuery對象,那麼我將它做成一個。檢測DOM對象與jQuery對象
有沒有人知道一個非常可靠的方式來檢測到這一點。
function functionName(elm){
//Detect if elm is not a jquery object in condition
if (elm) elm = $(elm);
}
邏輯方法是檢測DOM元素對象的屬性之一。問題是,哪個屬性是最可靠的檢測?我也可以使它成爲一個jQuery對象,因爲jQuery沒有像下面這樣的問題:$($ imajQueryObjAlready);然而,這個問題的目的不是爲了解決問題,而是爲了找到一種檢測DOM對象與jQuery對象的好方法。
+1兩個優秀的解決方案 - 我更喜歡後者的易讀性。 – lonesomeday 2010-11-10 00:22:38
@lonesomeday - 我給(或應該給)的唯一免責聲明是它不是公共API的一部分,[目前無論如何](http://bugs.jquery)。com/ticket/7200),所以jQuery可能決定在某一天刪除該屬性。雖然令人懷疑。 – user113716 2010-11-10 00:25:39
是的。當然,相反,jQuery可以決定添加一個'nodeType'屬性! – lonesomeday 2010-11-10 00:30:21