Hallo!
alert($(event.currentTarget).closest('li').find('h5').text());
bringt auch ein leeres alert
Dann finde heraus, wo der Fehler liegt.
- Schau dir den Wert von
event.currentTarget
an und prüfe, ob er stimmt - Schau dir den Wert von
$(event.currentTarget).closest('li')
an. (Es ist auf jeden Fall ein jQuery-Objekt, es kann aber leer sein und keine Elemente enthalten.) - Schau dir den Wert von
$(event.currentTarget).closest('li').find('h5')
an (dito)
Das Überprüfen von Werten ist eine klassische Debugging-Technik. alert() ist schon eine ganz guter Anfang. Vielseitig sind die JavaScript-Fehlerkonsolen von Firebug oder dem Chrome Web Inspector. Mit console.log() lassen sich Werte auf der Konsole ausgeben. Objekte kann man darin interaktiv untersuchen.
echo"<span id='loeschen_click' title='" . $name . "' class='ui-icon ui-icon-close'></span>\n";
mit dem 'tooltip' title hab ich (etwas später im threat geschrieben) es auch schon versucht.
Mit attr('title')
kannst du das title-Attribut lesen, das war schon ganz richtig. Hat das nicht geklappt?
Kurz zur Erklärung: Hier handelt es sich um zwei unterschiedliche Ansätze. Wenn du den Titel in einem title-Attribut beim Button unterbringst, kannst du ihn natürlich einfacher auslesen. Wenn du ihn nur einmal in der Überschrift unterbringst, muss du dich erst dahinhangeln, dafür steht er nicht mehrfach im HTML.
vielleicht muss ich ja die leerzeichen im songnamen maskieren?
Leerzeichen sind kein Problem, allerdings können andere Zeichen im Titel vorkommen, die maskiert (escaped) werden müssen, wenn man sie in ein HTML-Attribut schreibt. Das geht in PHP z.B. mit der Funktion htmlspecialchars. Aber das nur am Rande, das ist ein Thema für sich.
Grüße,
Mathias