2013-12-14 142 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.') 
    } 
});