jquery next selektor frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mcmurphy
    antwortet
    THX freundin der Nacht
    so gehts

    aber
    div > img

    da warste schneller als ich danke für die ausführliche antwort!

    bedeutet doch auch "ein img innerhalb eines div" bzw. 2ein img als child-node eines div"
    oder habe ich da was falsch verstanden?

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Hallo,

    während dein Dokument jetzt weiter in die Tiefe geht, bleibst du flach auf der aktuellen Ebene. Versuch's mal mit
    Code:
    .next("div").children("img")
    Nochmal zu deinem Selektor „div > img“. Der matcht nur img-Geschwister (die es in der aktuellen Ebene nicht gibt), deren Elternelement ein div ist. Dieser Selektor hätte in der ersten Version gepasst, als noch kein Container um das img drum herum war, da das Elternelement div.edit_container die Bedingung erfüllt hätte. CSS-Selektoren (und damit auch die von jQuery) gehen nie wie z. B. XPath selbst in die Tiefe, das musst du mit den Funktionen (next, children, ...) machen. Die Selektoren legen nur Bedingungen fest.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 28.06.2011, 12:55.

    Einen Kommentar schreiben:


  • mcmurphy
    hat ein Thema erstellt jquery next selektor frage.

    jquery next selektor frage

    hi, habe mal ne kleine Verständnis Frage zu Selekoren bei next:

    habe in einer Bildergallery folgende Struktur:

    PHP-Code:
    <div class="edit_container">
     <
    div class="del_container">delete</div>
     <
    img class="xyz" src="http://localhost/foo/lib/imgs/gallery/f1/043.jpg" alt="" />
    </
    div
    an jedes Div der klasse del_container soll bei click eine funktion gebunden werden:
    PHP-Code:
    $('.edit_container .del_container').each(
      function(
    i){
       $( 
    this ).bind (
         
    "click",
            function(){ 
             var 
    src = $(this).next('img').attr('src');
             var 
    foo = $(this).next('img').attr('class');
             
    alert(foo);    // zur kontrolle
             /* der rest ...... *
           }
         );
      }
    ); 
    das funktioniert wunderbar.
    Jetzt brauche ich um das Image noch einen div Container
    PHP-Code:
    <div class="edit_container">
     <
    div class="del_container">delete</div>
     <
    div class="clip">
      <
    img class="xyz" src="http://localhost/foo/lib/imgs/gallery/f1/043.jpg" alt="" />
     </
    div>
    </
    div
    dann müsste ich doch um an den Img Tag referenzieren zu können folgenden Selektor verwenden:
    PHP-Code:
    var src = $(this).next('div > img').attr('src'); 
    alert(src); gibt mir dann aber ein undefined zurück
    Laut Doku Child Selector (“parent > child”) – jQuery API & .next() – jQuery API
    müsste dass doch aber richtig sein ?!?


    PHP-Code:
    var src = $(this).next().next().attr('src'); 
    geht auch nicht!

    Wo liegt mein Fehler bzw. kann mir einer mal das Brett vom Kopf entfernen?
    THX
Lädt...
X