2012-06-06 23 views
1

假設我有的jQuery確定哪些元素調用函數

$('#routingNumber').removeClass(validationClass('#routingNumber')); 

(其中validationClass()是返回確定驗證的類的正則表達式。)

有沒有辦法追查這validationClass()被稱爲上$(「routingNumber」)沒有明確地傳遞參數#routingNmber

換句話說,是否有函數validationClass()可以知道它應該在上執行正則表達式

我想要做到這一點,以方便使用,在某些情況下,這將是必要的。

注意:在使用$(this)作爲參數不會工作,因爲單擊事件刪除類未綁定到#rountingNumber

回答

0

你必須像這樣定義一個新的功能:

$.fn.removeValidationClass = function(){ 
    $(this).removeClass(validationClass($(this))); 
    return $(this); 
} 

值$(這)將是您的示例#routingNumber DIV如果這樣調用:

$('#routingNumber').removeValidationClass(); 
+0

這是實際上我採取的路線(也就是製作一個插件)。 – jaredrada

0

如果我正確理解你的問題,你可以使用(無證,截至目前)selector由jQuery對象公開的屬性。此屬性將返回最初傳遞給$()選擇:

var obj = $("#routingNumber"); 
obj.removeClass(validationClass(obj.selector)); 
0
$('#routingNumber').removeClass(function() { 
      return validationClass($(this)); 
}); 

$('.validateme').removeClass(function() { 
      return validationClass($(this)); 
}); 

在這兩種情況下,你的函數應該得到正確的對象。

相關問題