2009-05-24 17 views
2

Der Code unten funktioniert nur für die erste Div. Ich kann keine anderen divs anzeigen, wenn ich auf die anderen "img" s geklickt habe. Kennen Sie eine Methode, um das zweite (nächste) Element zu erreichen?Wie wird das zweite Element mit JQUERY ausgewählt, wenn auf das Bild geklickt wird?

$(document).ready(function() { 

     $('.imgOpenClose').click(function() { 
      if ($(this).attr("src") == "images/openTree.gif") { 
       $(this).attr("src", "images/closeTree.gif"); 
       $(this).parent().find('div').eq(0).show(); 
      } 
      else { 
       $(this).attr("src", "images/openTree.gif"); 
       $(this).parent().find('div').eq(0).hide(); 
      } 
     }); 
}); 

Wanna open table when i clicked on plus images

And wanna see the table inside this div

+0

Können Sie uns einige Beispiele HTML für die Seite, die Sie wollen Ihr Javascript zum laufen? Ansonsten fehlt es Ihrer Frage an Details, und wir können Ihnen nicht wirklich helfen. – rampion

Antwort

2

Da Sie ein Bruchelement nach dem Bild haben, müssen Sie nextAll verwenden und wählen Sie den ersten DIV statt einfach mit next mit einem Filter wie in meinem ursprüngliche Antwort.

$('.imgOpenClose').click(function() { 
    $(this).nextAll('div:first').toggle(); 
}); 
+0

Sollte das nicht $ (this) .next ('div') sein? – markusk

+0

@markusk - guten Fang, ich dachte, die DIVs waren alle auf dem gleichen Niveau. – tvanfosson

+0

alert ($ (this) .next ('div'). Html()); => gibt null zurück – uzay95

1

Wenn Sie mehrere Bilder mit der gleichen Klasse-Tag haben, können Sie es tun, noch ohne eine eindeutige ID anhängen mit:

$(function() { 
    $('.imgOpenClose').click(function() { 
     $(this).next('div').children('table').toggle(); 
    }); 
}); 
+0

Wie Sie sehen div vor Tabelle hat Eigenschaft als keine anzeigen. Deshalb sollte ich div-Tag umschalten. Aber Warnung ($ (diese) .next ('div'). Html()); gibt null zurück. Warum konnte jquery das nächste div nicht finden? – uzay95

+0

nächste ist nur nächste Geschwister. Wenn es kein Div ist, wird es null sein. Der Filter für den nächsten ist so, dass du sagen kannst, gib mir das nächste Geschwister aber nur wenn es ein div ist. – redsquare

Verwandte Themen