2013-12-14 141 views
0

我有一个关于jQuery选择器的noob问题。我想在点击后包装一个元素,但只有在它有一个特定的类名(“.js-loader”),并且只有它是一个输入[type“submit”]或一个输入[type =“button” ],或,或者如果它有一个类名“.FORM键” ......检查选择器是否

var selector = '.js-loader'; 

$(selector).on('click', function() { 
    if($(this).is(???)) { 
     console.log('Its a submit button or something like that, so its ok.'); 
    } 

    else { 
     console.log('You shall not pass.') 
    } 
}); 

的问题是,我是一个真正的新手在JavaScript和jQuery,我只是不知道这样做如何这适当。

感谢您的帮助,我的英语水平:)对不起

编辑: 我想把那些选择另一个变量,我以后会需要他们。

http://jsfiddle.net/fMUc9/

+0

你为什么不添加到选择VAR .. –

+0

好了,我可以,但我希望把这些选择另一个变量 –

回答

2

is()功能通过对你要测试的元素对

$(selector).on('click', function() { 
    if($(this).is('input[type="submit"], input[type="button"]')) { 
     console.log('Its a submit button or something like that, so its ok.'); 
    } 
    else { 
     console.log('You shall not pass.') 
    } 
}); 
+0

不工作。问题可能是is()...我只是尝试与is()但我不知道它是解决方案... –

+0

你能分享html示例 –

+0

http://jsfiddle.net/fMUc9/ –

0

的选择试试这个:

$(selector).on('click', function() { 
if($(this).is('input[type="submit"], input[type="button"], a, .form-button')) { 
    console.log('Its a submit button or something like that, so its ok.'); 
} 

else { 
    console.log('You shall not pass.') 
} 
}); 
0

试试这个:

$(selector).on('click', function() { 
    if($(this).is('input :submit, input :button, a.form-button')) { 
     console.log('Its a submit button or something like that, so its ok.'); 
    } 

    else { 
     console.log('You shall not pass.'); 
    } 
}); 
0

试试这个:

var selector = '.js-loader'; 

$(selector).on('click', function() { 
    if($(this).is('input[type"submit"], input[type="button"],.form-button')) { 
     console.log('Its a submit button or something like that, so its ok.'); 
    } 

    else { 
     console.log('You shall not pass.') 
    } 
}); 
0

试试这个:

$(selector).click(function() { 
    if($(this).is("input[type=button], input[type=button], a") || $(this).className == 'form-button') { 
     console.log('Its a submit button or something like that, so its ok.'); 
    } 

    else { 
     console.log('You shall not pass.') 
    } 
});