Проверьте, не является ли селектор

0

У меня вопрос noob о селекторе jQuery. Я хочу обернуть элемент после щелчка, но только если у него есть определенное имя класса (".js-loader"), и только если это вход [type "submit"] или вход [type = "button" ], или или если у него есть имя класса ".form-button"...

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
    Ну, я мог бы, но я хочу поместить эти селекторы в другую переменную
Теги:
arrays
selector

5 ответов

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
Показать ещё 3 комментария
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.')
    }
});
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.');
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню