2009-03-25 5 views
1

Je suis en train de sélectionner des éléments avec de multiples conditions, par exemple, je fais ce qui suit à l'heure actuelle:Selectors Multi-conditionnel dans jQuery

$('#myspan').find('input:visible').each(myfunc); 

Bien que je sais que vous pouvez faire des choses comme $('#myspan input:visible') mais n'a pas fonctionné pour moi. J'ai besoin de vérifier les entrées dans l'intervalle #myspan qui sont visibles et sont vérifiés. Des idées?

Répondre

6

Essayez:

$("#myspan :checked:visible").each(function() { 
    // do stuff 
}); 
+0

Gah, si seulement je pouvais avoir plusieurs réponses correctes;) Celui-ci est bon aussi. Comment se fait-il que vous ayez oublié l'entrée? – Kezzer

+0

Vous pouvez le mettre mais il est impliqué par: vérifié (car seules les cases à cocher peuvent être vérifiées et seules les entrées peuvent être des cases à cocher). A vous de penser. Je préfère les expressions terser mais en mettant en entrée: checked: visible est bien. – cletus

2
$('input:visible', '#myspan').find(':checked').each(function() { 
    alert(this.id); 
}); 

Doit faire l'affaire. J'aime séparer les choses parce que j'aime penser que ça aide jQuery à mieux analyser.

+0

Dang vous êtes rapide. Merci! – Kezzer

+0

Il * est * plus rapide de spécifier un contexte. Je ne sais pas pourquoi, mais il semble l'être. – Seb

+0

@Seb, le pourquoi est assez simple: sans un contexte, la recherche commence à partir de la racine du document;) –