230 votes

jQuery, get deuxième enfant

<pre><code></code><p><pre><code></code></pre><p><em>TD</em> <code></code> objet. J’ai cherché la solution, mais rien n’a fonctionné pour moi. Aucune idée comment faire pour obtenir le deuxième élément.</p></pre>

415voto

davin Points 19682

Prenez le deuxième enfant :

ou, prenez le deuxième enfant `` :

28voto

stackex Points 165

Voici une solution qui est peut-être plus clair à lire dans le code:

Pour obtenir le 2ème enfant d'une liste non ordonnée:

   $('ul:first-child').next()

Et plus élaboré exemple: Ce code récupère le texte de l'attribut "title" de la 2ème élément enfant de l'UL identifiée comme "my_list':

   $('ul#my_list:first-child').next().attr("title")

Dans ce deuxième exemple, vous pouvez vous débarrasser de la "ul" au début de la sélection, comme c'est redondant, car un ID doit être unique dans une page unique. Il est là juste pour ajouter de la clarté à l'exemple.

Note sur la Performance et la Mémoire, ces deux exemples sont de bons performants, car ils ne font pas jquery enregistrer une liste de ul les éléments qui devaient être filtrée par la suite.

28voto

Kumar Harsh Points 3960

Comment est-ce:

$(t).first().next()

MISE À JOUR MAJEURE:

En dehors de la beauté de la réponse ressemble, vous devez également donner une pensée à l'exécution du code. Par conséquent, il est également relavant de savoir ce qui est exactement dans l' $(t) variable. Est-il un tableau d' <TD> ou est-il un <TR> noeud avec plusieurs <TD>s à l'intérieur? Pour illustrer ce point, voir le jsPerf les scores sur un <ul> liste avec 50 <li> enfants:

http://jsperf.com/second-child-selector

L' $(t).first().next() méthode est la plus rapide ici, et de loin.

Mais, d'autre part, si vous prenez l' <tr> de nœud et de trouver l' <td> d'enfants et de et de lancer le même test, les résultats ne seront pas les mêmes.

Espérons que cela aide. :)

11voto

Chandu Points 40028

Essayez ceci :

ou

9voto

user113716 Points 143363

Outre l’utilisation de méthodes de jQuery, vous pouvez utiliser l’indigène collection qui le vous donne.

En supposant que `` est un élément DOM, vous pourriez contourner la création de l’objet jQuery.


EDIT : J’ai oublié de supprimer la `` du deuxième exemple. Fixe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X