jquery函数使用选择器作为变量

Sou*_*rce 0 jquery

所以我有一个需要反复重复的特定功能.所以我想我只会制作一个可以重复使用的功能.

function validate_form(field,validate) {
field.focus(function(){
    $(validate).css('margin-left','206px');
    $(validate).fadeIn();
    $(validate).animate({ 
            'marginLeft': '286px'
            }, 'fast');
    name        = $(field).val();
    alert(name);        
});
}   
Run Code Online (Sandbox Code Playgroud)

调用函数我会使用类似的东西

validation_form('#contact_name','#contact_name_validate');
Run Code Online (Sandbox Code Playgroud)

所以这里的想法是通过功能所需的特定选择器,但我似乎无法让它工作.当它们在函数中用作变量时,是否有一些特殊的方法可以通过选择器?

nnn*_*nnn 5

如果field参数包含选择器,则必须将其传递给jQuery()函数:

$(field).focus(function(){
Run Code Online (Sandbox Code Playgroud)

另请注意,您可以通过链接要使用的不同方法来提高函数的效率$(validate):

function validate_form(field, validate) {
    $(field).focus(function () {
        $(validate).css('margin-left', '206px')
                   .fadeIn()
                   .animate({'marginLeft': '286px'}, 'fast');
        name = this.value;
        alert(name);
    });
}
Run Code Online (Sandbox Code Playgroud)

在焦点处理程序内部,$(field).val()您可以使用$(this).val()this.value不是$(field).val()因为this已经是焦点元素,因此您不需要再次选择它$(field).