2010-04-07 5 views
1

Il doit y avoir quelque chose de très simple que je donne sur, mais pour une raison quelconque, je peux trouver aucune information à ce sujet et il revient sans cesse si ..la sélection d'une liste de sélection dans jquery

Je suis en train de sélectionner un sélectionnez l'élément dans jquery. En ce moment, je ne me soucie pas de ses options, je veux juste l'élément de sélection. Si je l'élément suivant:

<select id="testSelect"><option>1</option></select> 

et j'utilise jquery pour le sélectionner:

var selectElement = $("#testSelect"); 

Je reçois un tableau de toutes les options dans la liste de sélection, mais pas l'élément de sélection lui-même. Qu'est-ce que je rate?

+3

besoin d'un peu plus de contexte ici, ce sélecteur doit obtenir l'élément de sélection lui-même ... peut vous envoyer ce que vous essayez de faire avec elle qui ne se comporte correctement? –

+0

J'ai juste besoin de l'objet select element pour pouvoir l'utiliser en javascript pour les styles, show/hide. Désolé d'être vague, je n'ai pas inclus cela parce que tout ce qui m'importe en ce moment c'est de comprendre pourquoi je ne peux pas récupérer un objet sélectionné. Je sais qu'il y a d'autres solutions pour cela, mais ça m'embête vraiment. Par exemple, $ ("# testSelect"). Style est indéfini (attendu), $ ("# testSelect") [0] donne la liste des options et non le select. Merci! – tessa

+0

Il existe des méthodes jQuery pour gérer les styles, par exemple '$ ('# testSelect'). Is (': visible')' ou pour obtenir l'affichage: '$ ('# testSelect'). Css ('display)' , c'est ça que tu veux dire? –

Répondre

1

Vous le sélectionnez correctement.

var selectElement = $("#testSelect");

Rappelez-vous cependant que selectElement est maintenant un objet jQuery pas un nœud DOM. Cela vous permet d'utiliser des méthodes jQuery pour le manipuler comme suit:

selectElement.css({'background-color':'red', 'border':'1px solid'});

selectElement.hide();

selectElement.show();

Si vous souhaitez accéder au nœud DOM utiliser directement la méthode get comme indiqué ici: http://api.jquery.com/get/ . Ainsi, par exemple si vous souhaitez accéder à la propriété des noeuds DOM de style que vous le feriez comme ceci:

$('#tl_query_season').get(0).style

et get-couleur de fond comme celui-ci:

$('#tl_query_season').get(0).style.backgroundColor

Mais si vous En faisant cela, vous manquez toutes les fonctionnalités de jQuery.

Voir aussi: http://api.jquery.com/css/ et http://api.jquery.com/category/effects/