Comment sélectionner un seul élément enfant en utilisant jQuery?

Comment utiliser jQuery pour sélectionner un seul élément enfant? J’ai regardé l’API Traversing et je sais que je peux sélectionner tous les éléments img enfants immédiats comme ceci:

 $(this).children('img'); 

Et pour sélectionner le premier élément img enfant, je pourrais utiliser un indice comme celui-ci:

 $(this).children('img')[0]; 

Mais je suppose que je suis un peu surpris de ne pas pouvoir faire ça:

 $(this).child('img'); // no subscript, returns single element 

Ou ai-je manqué quelque chose?

Non. Chaque fonction jQuery renvoie un object jQuery, et c’est ainsi que cela fonctionne. Ceci est une partie cruciale de la magie de jQuery.

Si vous voulez accéder à l’élément sous-jacent, vous avez trois options …

  1. Ne pas utiliser jQuery
  2. Utilisez [0] pour le référencer
  3. Prolongez jQuery pour faire ce que vous voulez …

     $.fn.child = function(s) { return $(this).children(s)[0]; } 

Je pense que ce que vous voulez faire c’est ceci:

 $(this).children('img').eq(0); 

cela vous donnera un object jquery contenant le premier élément img, alors que

 $(this).children('img')[0]; 

vous donnera l’élément img lui-même.

Peut-être de cette façon?

 $('img', this)[0] 
          
MoreInformation
MoreInformation
MoreInformation
MoreInformation