jquery: utilisation (“parent > enfant”) avec des variables
Par exemple, j'ai un <div class="first">
contenant d'autres <div>
's et sélectionné en premier et l'a poussé dans la variable
variable = $('div.first')
Et maintenant, je veux quelque chose de ce genre
$(variable + " > div")
Je sais, il semble stupide, mais que si j'avais un tableau contenant les lignes de la table et j'ai besoin d'accéder à des colonnes à l'intérieur d'une ligne spécifique:
var tableRows = $('table > tbody > tr');
var tableBodyCols = $(tableRows[i]+'> td'); //Doesn't work :(
OriginalL'auteur Timofey Trofimov | 2013-04-02
Vous devez vous connecter pour publier un commentaire.
Utilisation
.les enfants()
Ou un sélecteur de contexte:
Les deux sont équivalents, mais le premier est plus facile à lire à mon humble avis.
Voici un violon preuve à la fois.
Et pour itérer sur tous les jeux d'enfants de
ligne de tableau:
Mais si vous préférez une
for
boucle ou vous avez besoin d'obtenir une rangée de colonnes, puiseq
est votre ami.Voici la mise à jour violon.
Oui bien noté, il n'est pas de créer un nouvel objet jQuery à partir de zéro en trop.
=]
Mon anglais est mauvais, et je pensais que
children()
sélecteur sélectionne uniquement les premier enfant (je pensais que les "enfants" est une forme singulière de "enfants"). De toute façon, merci beaucoup. Sélecteur de contexte est très joli.heheh pas de problème,
child
(comme dans:first-child
,:last-child
) est la forme singulière,children
est le pluriel.:P
children
fonction sélectionne tous les descendants, non seulement de premier niveau des enfants que des > (jsfiddle). Cela fonctionne dans l'exemple parce que vous n'avez pas imbriquée td.OriginalL'auteur Fabrício Matté
Vous ne pouvez pas faire
$(variable + " > div")
parce quevariable
n'est pas une chaîne mais un élément jquery.Mais vous pouvez essayer:
OriginalL'auteur X-Blaster
Pour obtenir les cellules de la ligne d'indice
i
, vous pouvez utiliserSi vous avez réellement peuvent avoir plus d'un niveau de
td
, utilisezou utiliser le natif de l'objet dom :
parent > child
de recherche, mais un.find()
. Le troisième est aussi maintenant juste un tableau, pas un jQuery collection... 😉OriginalL'auteur Denys Séguret
Si vous voulez tous
<td>
cellules, utilisez:Si vous voulez seulement ceux pour un spécifiques ligne
i
:où
i
vont commencer à partir de zéro pour la première ligne.OriginalL'auteur Alnitak