J'ai une disposition similaire à celle-ci:
<div id="..."><img src="..."></div>
et souhaite utiliser un sélecteur jQuery pour sélectionner l'enfant img
à l'intérieur du div
clic.
Pour l'obtenir div
, j'ai ce sélecteur:
$(this)
Comment puis-je amener l'enfant à l' img
aide d'un sélecteur?
Vous pouvez également utiliser
qui retournerait tous les
img
s qui sont des descendants de ladiv
la source
$(this).children('img')
serait mieux. par exemple<div><img src="..." /><div><img src="..." /></div></div>
parce que vraisemblablement l'utilisateur veut trouver des images de 1er niveau.Si vous avez besoin d'obtenir le premier
img
qui est en bas d'un niveau exactement, vous pouvez le fairela source
:first
correspond- il qu'à "en bas d'un niveau exactement " ou correspond-il au "premier"img
trouvé?.children()
c'est d'où vient le "bas exactement d'un niveau" et:first
c'est d'où vient le "premier"..find()
au lieu de.children()
this
avait déjà une référence au<div>
contenant le<img>
, cependant si vous avez plusieurs niveaux de balises à parcourir à partir de la référence que vous aviez, alors vous pouvez certainement composer plus d'unchildren()
appelSi votre balise DIV est immédiatement suivie de la balise IMG, vous pouvez également utiliser:
la source
le enfants directs sont
la source
Vous pouvez trouver tous les éléments img de div parent comme ci-dessous
Si vous voulez un élément img spécifique, vous pouvez écrire comme ceci
Votre div ne contient qu'un seul élément img. Donc, pour cela, c'est juste
Mais si votre div contient plus d'élément img comme ci-dessous
alors vous ne pouvez pas utiliser le code supérieur pour trouver la valeur alternative du deuxième élément img. Vous pouvez donc essayer ceci:
Cet exemple montre une idée générale de la façon dont vous pouvez trouver un objet réel dans l'objet parent. Vous pouvez utiliser des classes pour différencier votre objet enfant. C'est simple et amusant. c'est à dire
Vous pouvez le faire comme ci-dessous:
et plus précis comme:
Vous pouvez utiliser find ou children comme le code ci-dessus. Pour plus d'informations, visitez Enfants http://api.jquery.com/children/ et trouvez http://api.jquery.com/find/ . Voir l'exemple http://jsfiddle.net/lalitjs/Nx8a6/
la source
Façons de faire référence à un enfant dans jQuery. Je l'ai résumé dans le jQuery suivant:
la source
Sans connaître l'ID du DIV, je pense que vous pouvez sélectionner l'IMG comme ceci:
la source
Essayez ce code:
la source
$($(this).children()[0])
.$(this:first-child)
$($(this).children()[x])
utiliser$(this).eq(x)
ou si vous voulez le premier, juste$(this).first()
.Vous pouvez utiliser l'une des méthodes suivantes:
1 trouver ():
2 enfants():
la source
jQuery
each
est une option:la source
Vous pouvez utiliser Child Selecor pour référencer les éléments enfants disponibles dans le parent.
Et ce qui suit est si vous n'avez pas de référence à
$(this)
et que vous souhaitez faire référenceimg
disponible dans unediv
autre fonction.la source
Cela devrait également fonctionner:
la source
this
Voici un code fonctionnel, vous pouvez l'exécuter (c'est une simple démonstration).
Lorsque vous cliquez sur le DIV, vous obtenez l'image à partir de différentes méthodes, dans cette situation "ceci" est le DIV.
J'espère que cela aide!
la source
Vous pouvez avoir 0 à plusieurs
<img>
balises à l'intérieur de votre<div>
.Pour rechercher un élément, utilisez un
.find()
.Pour protéger votre code, utilisez a
.each()
.Utiliser
.find()
et.each()
ensemble empêche les erreurs de référence nulles dans le cas de 0<img>
éléments tout en permettant la gestion de plusieurs<img>
éléments.la source
$("body").off("click", "#mydiv").on("click", "#mydiv", function() {
event.stopImmediatePropagation()
l'élément pour empêcher que cela ne se produise.la source
Vous pourriez utiliser
la source
Si votre img est exactement le premier élément à l'intérieur de div, essayez
Afficher l'extrait de code
la source