2013-12-14 3 views
0

У меня есть вопрос noob о селекторе jQuery. Я хочу обернуть элемент после щелчка, но только если у него есть определенное имя класса («.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, и я просто не имеют ни малейшего представления о том, как делать это правильно.

Спасибо за вашу помощь, и извините за мой английский :)

Edit: Я хочу поставить этот селектор в другом переменном, я буду нуждаться в них позже.

http://jsfiddle.net/fMUc9/

+0

почему не добавить, что в селекторном вар .. –

+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.') 
    } 
}); 
Смежные вопросы