2009-09-02 5 views
0

Je voudrais obtenir un élément li d'une liste non ordonnée en utilisant l'attribut id des deux éléments dans le cadre du sélecteur.Sélection de li à partir d'une liste non ordonnée en utilisant ul et li id ​​

Voici un exemple de la façon dont je l'ai fait travailler à l'aide de la classe ul css:

var listItem = $('ul.selectedItems li#' + opt.list[i].ID); 

J'ai essayé d'utiliser l'approche suivante sans chance:

var listItem = $("#" + opt.name).childs.find("#" + opt.list[i].ID) 

Répondre

1

Vous devriez être en mesure de faire quelque chose comme ceci:

var listItem = $('#' + opt.name + ' > li#' + opt.list[i].ID); 

qui devrait sélectionner li éléments qui sont Chil dren du premier.

Voir la documentation ici: jQuery Selectors: Parent/Child.

+0

J'ai essayé de cette façon sans aucune chance, mais $ ('#' + opt.name + '> li [id $ =' + opt.list [i] .ID + ']') a fait l'affaire. Je vous remercie! –

4

Vous ne devriez pas avoir besoin d'un sélecteur/recherche complexe lorsque vous utilisez des ID. ID élément doit être unique dans l'ensemble du document, afin de trouver un élément est aussi simple que

var listItem = $("#" + opt.list[i].ID); 

Si cela ne fonctionne pas, je suggère réparais vos identifiants ils sont plutôt uniques que de travailler autour du problème un sélecteur CSS inutilement complexe.

+0

+1 - et j'essayerais de vous donner +2 si vous pouviez "Les ID d'élément doivent être uniques" – kdgregory

+0

Dans un monde parfait où vous ne travaillez pas sur d'autres codes: Vous avez raison. MAIS, je travaille sur le code émulant un combobox côté serveur en utilisant une liste non ordonnée. Les éléments de la liste sont générés de manière dinamique à partir d'une source de données, donc la sortie ul sera toujours la même lorsque deux contrôles serveur ont la même source de données. Je peux contrôler l'id mais pas celui de ses éléments. Puisque les sélections doivent être indépendantes du contrôle, je dois pouvoir utiliser ce sélecteur complexe. –

Questions connexes