2011-09-12 22 views

risposta

37

Basta controllare quanti elementi si colpisce, quando si cerca con jQuery

if ($(".Mandatory").length > 0) { 
    // Do stuff with $(".Mandatory") 
    $(".Mandatory").each(function() { 
     // "this" points to current item in looping through all elements with 
     // class="Mandatory" 
     $(this).doSomejQueryWithElement(); 
    }); 
} 

EDIT Se si vuole fare questo controllo per il vostro pulsante di invio clic, basta farlo controllare dopo il clic:

$("input[type='submit']").click(function() { 
    if ($(".Mandatory").length > 0) { 
     // Do some code here 
    } 
}); 
+0

Grazie per la risposta !!, questo obbligatoria la classe viene aggiunta dinamicamente sul pulsante di invio, ora non voglio chiamare fino a quando nessuno dei miei elementi sta avendo lezione su di esso. Si prega di suggerire –

+0

Si desidera verificare solo dopo aver saputo la risposta? Immagino che potresti mantenere una bandiera che viene attivata dal pulsante di invio clic. –

+0

@Manu: modificato la mia risposta. – peirix

4

Selettore jQuery di base (CSS) per classe.

if($(".Mandatory").length) 
7

Se si vuole fare solo l'azione una volta, è possibile utilizzare:

if ($('.Mandatory').length > 0) { 
    //do your thing 
} 

In caso contrario, se si vuole farlo per ogni elemento Mandatory:

$('.Mandatory').each(function(){ 
    //do your thing 
}); 
5

Il modo migliore per farlo è la classe di ricerca all'interno del tag del corpo.

$('body').find('.Mandatory').length; 
2

mi piacerebbe andare su di esso in questo modo:

$('*').hasClass('mandatory') ? "what to do if true" : "what to do if false"

trovo condizioni ternari più utili, come si può impostare le variabili in modo più rapido

Problemi correlati