2012-05-23 16 views
21

Qual è la sintassi di questo ciclo per saltare alcuni tasti? Il modo in cui l'ho scritto non funziona correttamente.jQuery più condizioni all'interno dell'istruzione if

$.each(element, function(i, element_detail){ 
    if (!(i == 'InvKey' && i == 'PostDate')) { 
     var detail = element_detail + ' '; 
     $('#showdata').append('<div class="field">' + i + detail + '</div>'); 
     } 
}); 
+1

Perché doesn' funziona? Che succede? – SLaks

+0

'if (i == 'InvKey' || i == 'PostDate') {'? –

risposta

48

Prova

if (!(i == 'InvKey' || i == 'PostDate')) { 

o

if (i != 'InvKey' || i != 'PostDate') { 

che dice che se i non è uguale a InvKey O PostDate

+0

"Se' i' non è uguale a "InvKey" o "PostDate" ". –

+0

Udpated my answer –

+0

Ok dita veloci, stavo arrivando alla mia formattazione lol –

10

i == 'InvKey' && i == 'PostDate' sarà mai vero, dal momento i può mai uguali due cose diverse in una sola volta.

Probabilmente stai cercando di scrivere

if (i !== 'InvKey' && i !== 'PostDate')) 
+0

che '!' Lo rende sempre vero ... –

+1

'i' potrebbe non essere indice in base a cosa sta iterando .. –

+0

@ Vega # 1: Esatto. E quindi non farà quello che vuole. – SLaks