假设我有
$('#routingNumber').removeClass(validationClass('#routingNumber'));
(其中validationClass()
是一个正则表达式,返回一个确定验证的类。)
有没有办法跟踪validationClass()
在$(“routingNumber”)上被调用而没有明确地传递参数#routingNmber
换句话说,无论如何,函数validationClass()
可以知道它应该在#routingNumber
上执行正则表达式
我想这样做是为了方便使用,在某些情况下,这是必要的。
注意:使用$(this)
作为参数不起作用,因为删除类的click事件未绑定到#rountingNumber
答案 0 :(得分:0)
如果我正确理解了您的问题,您可以使用jQuery对象公开的(未记录的)selector
属性。此属性将返回最初传递给$()
的选择器:
var obj = $("#routingNumber");
obj.removeClass(validationClass(obj.selector));
答案 1 :(得分:0)
$('#routingNumber').removeClass(function() {
return validationClass($(this));
});
或
$('.validateme').removeClass(function() {
return validationClass($(this));
});
在这两种情况下,你的函数都应该得到正确的对象。
答案 2 :(得分:0)
你必须定义一个这样的新函数:
$.fn.removeValidationClass = function(){
$(this).removeClass(validationClass($(this)));
return $(this);
}
如果像这样调用,$(this)的值将是你示例中的#routingNumber
div:
$('#routingNumber').removeValidationClass();