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 …
[0]
pour le référencer 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]