1

假设我有

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

validationClass()(返回确定验证的类的正则表达式在哪里。)

是否有任何方法可以跟踪validationClass()在 $("routingNumber") 上调用而无需显式传递参数#routingNmber

换个说法,函数validationClass()是否可以知道它应该执行正则表达式#routingNumber

我想这样做是为了便于使用,在某些情况下这是必要的。

注意:使用$(this)as 参数将不起作用,因为删除类的单击事件未绑定到#rountingNumber

4

3 回答 3

0

selector如果我正确理解您的问题,您可以使用jQuery 对象公开的(截至目前未记录)属性。此属性将返回最初传递给的选择器$()

var obj = $("#routingNumber");
obj.removeClass(validationClass(obj.selector));
于 2012-06-06T15:06:01.270 回答
0
$('#routingNumber').removeClass(function() {
          return validationClass($(this));
});

或者

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

在这两种情况下,您的函数都应该得到正确的对象。

于 2012-06-06T15:13:20.490 回答
0

您必须像这样定义一个新函数:

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

如果这样调用,$(this) 的值将是#routingNumber您示例中的 div:

$('#routingNumber').removeValidationClass();
于 2012-06-06T15:26:30.393 回答