jQuery zu finden, die nächste Div Eltern
Ich versuche zu lernen jQuery mit folgendem Szenario. Für diese habe ich versucht, das folgende jQuery-nach der Lektüre mehrere Fragen; aber es hat nicht funktioniert
$(this).closest('.viewLogText').parent().find('.reportLog').css("display", "none");
Szenario:
Gibt es drei untergeordneten div-Elemente in ein div-Element mit Css-Klasse "repeaterRecord". Die child-divs werden mit css-Klassen - repeaterIdentifier, viewLogTitle und reportLog.
Gibt es zwei divs mit dieser Struktur (div mit Css-Klasse "repeaterRecord").
Den div mit viewLog-Klasse ist, wie unten gezeigt.
<div class="viewLogTitle">
<div class="viewLogText">
View Report Log
</div>
<div>
<img alt="Expand" src="Images/PlusIcon.GIF" class="expandLogIcon" />
<img alt="Collapse" src="Images/MinusIcon.GIF" class="collapseLogIcon" />
</div>
</div>
Wenn die collapseLogIcon Bild geklickt wird, wird ich mich verstecken muss (nur) der nächste div mit "reportLog" Klasse (auf der gleichen Ebene von "viewLogTitle"). Wie können wir dies mithilfe von jQuery?
Aktualisiert Beispiel Arbeiten:
http://jsfiddle.net/Lijo/L9w4F/11/ und
http://jsfiddle.net/Lijo/L9w4F/8/ und
http://jsfiddle.net/Lijo/L9w4F/12/
REFERENZ:
InformationsquelleAutor Lijo | 2012-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
siblings()
Methode:Können Sie auch versuchen, die
hide()
Methode ist die gleiche wie.css("display", "none");
InformationsquelleAutor undefined
Können Sie
.siblings()
zu finden ist die nächstediv
.API HIER
InformationsquelleAutor Andrea Turri
Ich würde vorschlagen, mit:
Beachten Sie, dass der filter an die
next()
Methode ('.reportLog'
) bedeutet, dass das nächste Geschwister-element desviewLogTitle
element betroffen sein wird nur, wenn passt dieser Selektor. Wenn die nächsten Geschwister der.viewLogTitle
wird immer das Ziel (die HTML ist nicht zu ändern), dann den filter ist unnötig und kann weggelassen werden.Oder, wenn Sie nicht immer Folgen nacheinander (aber der 'nächste' ist immer der, der betroffen zu sein), für die folgenden Geschwister:
Oder für die vorangegangenen Geschwister (wenn die
.reportLog
vor der.viewLogTitle
):Referenzen:
:first
- Selektor.next()
.nextAll()
.prevAll()
.next
wird nicht benötigt, mit einem einzigen elementDas stimmt, so weit wie es geht; aber die Absicht der Weitergabe der filter war zu berücksichtigen, für jene Zeiten, wenn das nächste Geschwisterchen könnte nicht das gewünschte Ziel. Obwohl, in fairness, ich sollte haben erklärt, dass es Absicht ist. bearbeitet
Wenn könnte es nicht sein, dass dann
next
ist nicht angemessen 😛Ja, der einzige Grund, ich bin noch zu kommentieren ist, dass jedes mal, die ich gesehen habe
next
mit einem filter, es wurde, da hat der Autor falsch verstandennext
.next(filter)
intuitiv wie es aussieht, wird das nächste element, das entsprichtfilter
, sondern man nimmt sich einfach das nächste Geschwister-element und gibt es zurück, WENN Sie mit den filter, ansonsten der Rückkehr nichts.Vereinbart; und Sie hatten Recht, zu kommentieren, meine Erklärung war eine absolut eklatante Lücke. =)
InformationsquelleAutor David Thomas