Ich habe ein ähnliches Layout:
<div id="..."><img src="..."></div>
und möchte einen jQuery-Selektor verwenden, um das untergeordnete Element img
innerhalb des div
On-Klicks auszuwählen .
Um das zu bekommen div
, habe ich diesen Selektor:
$(this)
Wie kann ich das Kind img
mit einem Selektor dazu bringen?
Sie könnten auch verwenden
das würde alle
img
s zurückgeben, die Nachkommen der sinddiv
quelle
$(this).children('img')
es besser zu sein. zB<div><img src="..." /><div><img src="..." /></div></div>
weil vermutlich der Benutzer Bilder der ersten Ebene finden möchte.Wenn Sie die erste benötigen, die
img
genau eine Ebene tiefer liegt, können Sie dies tunquelle
:first
nur " genau eine Ebene tiefer " oder stimmt es mit dem "ersten"img
überein, das gefunden wurde?.children()
woher kommt das "Down genau eine Ebene" und:first
woher das "Erste" kommt..find()
anstelle von.children()
this
war bereits ein Verweis auf das Enthalten<div>
des<img>
, aber wenn Sie mehrere Ebenen von Tag haben, um von der Referenz zu durchqueren, die Sie hatten, dann könnten Sie definitiv mehr als einenchildren()
AnrufWenn auf Ihr DIV-Tag unmittelbar das IMG-Tag folgt, können Sie auch Folgendes verwenden:
quelle
Die direkten Kinder sind
quelle
Sie finden alle img-Elemente des übergeordneten div wie unten
Wenn Sie ein bestimmtes img-Element möchten, können Sie so schreiben
Ihr div enthält nur ein img-Element. Also dafür ist unten richtig
Aber wenn dein div mehr img element enthält wie unten
dann können Sie keinen oberen Code verwenden, um den Alt-Wert des zweiten img-Elements zu finden. Sie können dies also versuchen:
Dieses Beispiel zeigt eine allgemeine Vorstellung davon, wie Sie das tatsächliche Objekt im übergeordneten Objekt finden können. Sie können Klassen verwenden, um Ihr untergeordnetes Objekt zu unterscheiden. Das ist einfach und macht Spaß. dh
Sie können dies wie folgt tun:
und genauer als:
Sie können find oder Kinder wie oben beschrieben verwenden. Weitere Informationen finden Sie unter Kinder unter http://api.jquery.com/children/ und unter http://api.jquery.com/find/ . Siehe Beispiel http://jsfiddle.net/lalitjs/Nx8a6/
quelle
Möglichkeiten, auf ein Kind in jQuery zu verweisen. Ich habe es in der folgenden jQuery zusammengefasst:
quelle
Ohne die ID des DIV zu kennen, könnten Sie den IMG wie folgt auswählen:
quelle
Versuchen Sie diesen Code:
quelle
$($(this).children()[0])
.$(this:first-child)
$($(this).children()[x])
benutzen$(this).eq(x)
oder wenn du den ersten willst, einfach$(this).first()
.Sie können eine der folgenden Methoden verwenden:
1 find ():
2 Kinder():
quelle
jQuery's
each
ist eine Option:quelle
Mit Child Selecor können Sie auf die untergeordneten Elemente verweisen, die im übergeordneten Element verfügbar sind.
Und das Folgende ist, wenn Sie keinen Verweis auf haben
$(this)
und einen Verweisimg
innerhalb einerdiv
anderen Funktion verfügbar machen möchten .quelle
Auch das sollte funktionieren:
quelle
this
Hier ist ein Funktionscode, den Sie ausführen können (es ist eine einfache Demonstration).
Wenn Sie auf den DIV klicken, erhalten Sie das Bild von verschiedenen Methoden. In dieser Situation ist "dies" der DIV.
Ich hoffe es hilft!
quelle
Sie können 0 bis viele
<img>
Tags in Ihrem haben<div>
.Verwenden Sie a, um ein Element zu finden
.find()
.Verwenden Sie a, um Ihren Code zu schützen
.each()
.Die Verwendung von
.find()
und.each()
zusammen verhindert Nullreferenzfehler bei 0<img>
Elementen und ermöglicht gleichzeitig die Behandlung mehrerer<img>
Elemente.quelle
$("body").off("click", "#mydiv").on("click", "#mydiv", function() {
event.stopImmediatePropagation()
das Element verwendet, um dies zu verhindern.quelle
Du könntest benutzen
quelle
Wenn Ihr img genau das erste Element in div ist, versuchen Sie es
Code-Snippet anzeigen
quelle