2010-07-13 9 views
2

J'ai un tableau rempli d'éléments d'option créés artificialité, la façon dont je les crée est la suivante:Comment utiliser des sélecteurs jQuery sur jQuery enveloppées tableaux

var daysArr = new Array(); 
for(i=1; i<=31; i++){ 
    daysArr.push('<option value="'+ i +'">'+ i +'</option>'); 
} 
$(daysArr.join('')); 

Ce que je suis en train de faire est d'utiliser un sélecteur sur ce tableau, comme ça:

$(daysArr.join('')).find('option:lt(5)'); 

La seule chose que je suis arrivé est un tableau vide, même pour .Find (« option »); Il y a les informations suivantes dans la documentation jQ pour lt() sélecteur:

Sélectionner tous les éléments à un indice inférieur à l'indice dans l'ensemble assorti.

Le tableau de type Mine est un tableau de type d'index. Je serai heureux si quelqu'un peut me dire d'où vient le problème.

Répondre

2

daysArrest votre éventail d'options. Essayer de find() quelque chose en eux descendra un niveau trop profond.

Il fonctionnerait si vous deviez faire quelque chose comme ceci:

$('<select>' + daysArr.join('') + '</select>').find('option:lt(5)'); 

Mais bien sûr, d'une manière plus simple d'atteindre le même serait

daysArr.slice(0,5); 
+0

Je fais encore les choses de la manière la plus dure. merci beaucoup :) – bozhidarc

1
var daysArr = $('<select>'); 
for(i=1; i<=31; i++){ 
    daysArr.append('<option value="'+ i +'">'+ i +'</option>'); 
} 

daysArr.children('option:gt(5)') 
+0

il envelopper dans '$' tho –

+0

En fait, il encapsule la chaîne résultant de la jonction de tous les textes d'options, donc il va obtenir des méthodes jQuery: $ (daysArr.join ('') – dguaraglia

+0

jAndy votre réponse est utile, mais ce n'est pas ce que je cherche parce que j'essaye de obtenir les options sans créer un sélecteur supplémentaire :) – bozhidarc